Coverage Report

Created: 2025-08-19 01:45

/src/scnlib/src/scn/impl.h
Line
Count
Source (jump to first uncovered line)
1
// Copyright 2017 Elias Kosunen
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
//     https://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
//
15
// This file is a part of scnlib:
16
//     https://github.com/eliaskosunen/scnlib
17
18
#pragma once
19
20
// Transitively includes <scn/scan.h>
21
#include <scn/regex.h>
22
#include <scn/xchar.h>
23
24
#include <algorithm>
25
#include <clocale>
26
#include <cmath>
27
#include <cwchar>
28
#include <functional>
29
#include <vector>
30
31
#if SCN_HAS_BITOPS
32
#include <bit>
33
#elif SCN_MSVC
34
#include <IntSafe.h>
35
#include <intrin.h>
36
#elif SCN_POSIX && !SCN_GCC_COMPAT
37
38
SCN_CLANG_PUSH
39
SCN_CLANG_IGNORE("-Wreserved-id-macro")
40
#define _XOPEN_SOURCE 700
41
SCN_CLANG_POP
42
43
#include <strings.h>
44
#endif
45
46
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
47
#include <regex>
48
#if SCN_REGEX_BOOST_USE_ICU
49
#error "Can't use the ICU with std::regex"
50
#endif
51
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
52
#include <boost/regex.hpp>
53
#if SCN_REGEX_BOOST_USE_ICU
54
#include <boost/regex/icu.hpp>
55
#endif
56
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
57
#include <re2/re2.h>
58
#endif
59
60
namespace scn {
61
SCN_BEGIN_NAMESPACE
62
63
/////////////////////////////////////////////////////////////////
64
// Private ranges stuff
65
/////////////////////////////////////////////////////////////////
66
67
namespace ranges {
68
69
template <typename R>
70
using const_iterator_t = iterator_t<std::add_const_t<R>>;
71
72
// Like std::ranges::distance, utilizing .position if available
73
namespace detail::distance_ {
74
struct fn {
75
private:
76
    template <typename I, typename S>
77
    static constexpr auto impl(I i, S s, priority_tag<1>)
78
        -> decltype(s.position() - i.position())
79
    {
80
        return s.position() - i.position();
81
    }
82
83
    template <typename I, typename S>
84
    static constexpr auto impl(I i, S s, priority_tag<0>)
85
        -> std::enable_if_t<sized_sentinel_for<S, I>, iter_difference_t<I>>
86
55.9k
    {
87
55.9k
        return s - i;
88
55.9k
    }
std::__1::enable_if<sized_sentinel_for<char const*, char const*>, scn::v4::ranges::incrementable_traits<char const*>::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<char const*, char const*>(char const*, char const*, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
86
53.2k
    {
87
53.2k
        return s - i;
88
53.2k
    }
std::__1::enable_if<sized_sentinel_for<wchar_t const*, wchar_t const*>, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
86
2.69k
    {
87
2.69k
        return s - i;
88
2.69k
    }
Unexecuted instantiation: std::__1::enable_if<sized_sentinel_for<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::ranges::incrementable_traits<std::__1::__wrap_iter<char*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >(std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*>, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<sized_sentinel_for<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >, scn::v4::ranges::incrementable_traits<std::__1::__wrap_iter<wchar_t*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >(std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*>, scn::v4::detail::priority_tag<0ul>)
89
90
    template <typename I, typename S>
91
    static constexpr auto impl(I i, S s, priority_tag<0>)
92
        -> std::enable_if_t<!sized_sentinel_for<S, I>, iter_difference_t<I>>
93
22
    {
94
22
        iter_difference_t<I> counter{0};
95
44
        while (i != s) {
96
22
            ++i;
97
22
            ++counter;
98
22
        }
99
22
        return counter;
100
22
    }
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::priority_tag<0ul>)
std::__1::enable_if<!(sized_sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::impl<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
93
22
    {
94
22
        iter_difference_t<I> counter{0};
95
44
        while (i != s) {
96
22
            ++i;
97
22
            ++counter;
98
22
        }
99
22
        return counter;
100
22
    }
101
102
public:
103
    template <typename I, typename S>
104
    constexpr auto operator()(I first, S last) const
105
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
106
                            iter_difference_t<I>>
107
55.9k
    {
108
55.9k
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
55.9k
    }
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), scn::v4::ranges::incrementable_traits<char const*>::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<char const*, char const*>(char const*, char const*) const
Line
Count
Source
107
53.2k
    {
108
53.2k
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
53.2k
    }
std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*) const
Line
Count
Source
107
2.69k
    {
108
2.69k
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
2.69k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>)&&(sentinel_for<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<std::__1::__wrap_iter<char*> >)&&(sentinel_for<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >), scn::v4::ranges::incrementable_traits<std::__1::__wrap_iter<char*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >(std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>)&&(sentinel_for<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>) const
Line
Count
Source
107
22
    {
108
22
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
22
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<std::__1::__wrap_iter<wchar_t*> >)&&(sentinel_for<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >), scn::v4::ranges::incrementable_traits<std::__1::__wrap_iter<wchar_t*> >::difference_type>::type scn::v4::ranges::detail::distance_::fn::operator()<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >(std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*>) const
110
};
111
}  // namespace detail::distance_
112
113
inline constexpr auto distance = detail::distance_::fn{};
114
115
namespace detail {
116
template <typename I, typename = void>
117
struct has_batch_advance : std::false_type {};
118
template <typename I>
119
struct has_batch_advance<I,
120
                         std::void_t<decltype(SCN_DECLVAL(I&).batch_advance(
121
                             SCN_DECLVAL(std::ptrdiff_t)))>> : std::true_type {
122
};
123
}  // namespace detail
124
125
// std::advance, utilizing .batch_advance if available
126
namespace detail::advance_ {
127
struct fn {
128
private:
129
    template <typename T>
130
    static constexpr T abs(T t)
131
84.7k
    {
132
84.7k
        if (t < T{0}) {
133
0
            return -t;
134
0
        }
135
84.7k
        return t;
136
84.7k
    }
137
138
    template <typename I>
139
    static constexpr auto impl(I& i, iter_difference_t<I> n, priority_tag<1>)
140
        -> std::enable_if_t<has_batch_advance<I>::value>
141
    {
142
        i.batch_advance(n);
143
    }
144
145
    template <typename I>
146
    static constexpr auto impl_i_n(I& i,
147
                                   iter_difference_t<I> n,
148
                                   priority_tag<0>)
149
        -> std::enable_if_t<random_access_iterator<I>>
150
111k
    {
151
111k
        i += n;
152
111k
    }
std::__1::enable_if<random_access_iterator<char const*>, void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<char const*>(char const*&, scn::v4::ranges::incrementable_traits<char const*>::difference_type, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
150
105k
    {
151
105k
        i += n;
152
105k
    }
std::__1::enable_if<random_access_iterator<wchar_t const*>, void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<wchar_t const*>(wchar_t const*&, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
150
5.80k
    {
151
5.80k
        i += n;
152
5.80k
    }
153
154
    template <typename I>
155
    static constexpr auto impl_i_n(I& i,
156
                                   iter_difference_t<I> n,
157
                                   priority_tag<0>)
158
        -> std::enable_if_t<bidirectional_iterator<I> &&
159
                            !random_access_iterator<I>>
160
3.77k
    {
161
3.77k
        constexpr auto zero = iter_difference_t<I>{0};
162
163
3.77k
        if (n > zero) {
164
144
            while (n-- > zero) {
165
72
                ++i;
166
72
            }
167
72
        }
168
3.70k
        else {
169
3.70k
            while (n++ < zero) {
170
0
                --i;
171
0
            }
172
3.70k
        }
173
3.77k
    }
std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(!(random_access_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
160
1.51k
    {
161
1.51k
        constexpr auto zero = iter_difference_t<I>{0};
162
163
1.51k
        if (n > zero) {
164
0
            while (n-- > zero) {
165
0
                ++i;
166
0
            }
167
0
        }
168
1.51k
        else {
169
1.51k
            while (n++ < zero) {
170
0
                --i;
171
0
            }
172
1.51k
        }
173
1.51k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)&&(!(random_access_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type, scn::v4::detail::priority_tag<0ul>)
std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(!(random_access_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
160
72
    {
161
72
        constexpr auto zero = iter_difference_t<I>{0};
162
163
72
        if (n > zero) {
164
144
            while (n-- > zero) {
165
72
                ++i;
166
72
            }
167
72
        }
168
0
        else {
169
0
            while (n++ < zero) {
170
0
                --i;
171
0
            }
172
0
        }
173
72
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)&&(!(random_access_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type, scn::v4::detail::priority_tag<0ul>)
std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)&&(!(random_access_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
160
2.19k
    {
161
2.19k
        constexpr auto zero = iter_difference_t<I>{0};
162
163
2.19k
        if (n > zero) {
164
0
            while (n-- > zero) {
165
0
                ++i;
166
0
            }
167
0
        }
168
2.19k
        else {
169
2.19k
            while (n++ < zero) {
170
0
                --i;
171
0
            }
172
2.19k
        }
173
2.19k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)&&(!(random_access_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type, scn::v4::detail::priority_tag<0ul>)
174
175
    template <typename I>
176
    static constexpr auto impl_i_n(I& i,
177
                                   iter_difference_t<I> n,
178
                                   priority_tag<0>)
179
        -> std::enable_if_t<!bidirectional_iterator<I>>
180
0
    {
181
0
        while (n-- > iter_difference_t<I>{0}) {
182
0
            ++i;
183
0
        }
184
0
    }
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>), void>::type scn::v4::ranges::detail::advance_::fn::impl_i_n<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type, scn::v4::detail::priority_tag<0ul>)
185
186
    template <typename I, typename S>
187
    static constexpr auto impl_i_s(I& i, S bound, priority_tag<2>)
188
        -> std::enable_if_t<std::is_assignable_v<I&, S>>
189
1.92k
    {
190
1.92k
        i = std::move(bound);
191
1.92k
    }
_ZN3scn2v46ranges6detail8advance_2fn8impl_i_sIPKcS7_EENSt3__19enable_ifIXsr3stdE15is_assignable_vIRT_T0_EEvE4typeESB_SC_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
189
1.00k
    {
190
1.00k
        i = std::move(bound);
191
1.00k
    }
_ZN3scn2v46ranges6detail8advance_2fn8impl_i_sIPKwS7_EENSt3__19enable_ifIXsr3stdE15is_assignable_vIRT_T0_EEvE4typeESB_SC_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
189
916
    {
190
916
        i = std::move(bound);
191
916
    }
192
193
    template <typename I, typename S>
194
    static constexpr auto impl_i_s(I& i, S bound, priority_tag<1>)
195
        -> std::enable_if_t<sized_sentinel_for<S, I>>
196
    {
197
        fn::impl_i_n(i, bound - i);
198
    }
199
200
    template <typename I, typename S>
201
    static constexpr void impl_i_s(I& i, S bound, priority_tag<0>)
202
252
    {
203
4.11k
        while (i != bound) {
204
3.86k
            ++i;
205
3.86k
        }
206
252
    }
Unexecuted instantiation: void scn::v4::ranges::detail::advance_::fn::impl_i_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::detail::priority_tag<0ul>)
void scn::v4::ranges::detail::advance_::fn::impl_i_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
202
174
    {
203
2.74k
        while (i != bound) {
204
2.56k
            ++i;
205
2.56k
        }
206
174
    }
Unexecuted instantiation: void scn::v4::ranges::detail::advance_::fn::impl_i_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::detail::priority_tag<0ul>)
void scn::v4::ranges::detail::advance_::fn::impl_i_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
202
78
    {
203
1.37k
        while (i != bound) {
204
1.29k
            ++i;
205
1.29k
        }
206
78
    }
207
208
    template <typename I, typename S>
209
    static constexpr auto impl_i_n_s(I& i, iter_difference_t<I> n, S bound)
210
        -> std::enable_if_t<sized_sentinel_for<S, I>, iter_difference_t<I>>
211
42.3k
    {
212
42.3k
        if (fn::abs(n) >= fn::abs(bound - i)) {
213
84
            auto dist = bound - i;
214
84
            fn::impl_i_s(i, bound, priority_tag<2>{});
215
84
            return dist;
216
84
        }
217
42.2k
        fn::impl_i_n(i, n, priority_tag<1>{});
218
42.2k
        return n;
219
42.3k
    }
std::__1::enable_if<sized_sentinel_for<char const*, char const*>, scn::v4::ranges::incrementable_traits<char const*>::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<char const*, char const*>(char const*&, scn::v4::ranges::incrementable_traits<char const*>::difference_type, char const*)
Line
Count
Source
211
42.3k
    {
212
42.3k
        if (fn::abs(n) >= fn::abs(bound - i)) {
213
84
            auto dist = bound - i;
214
84
            fn::impl_i_s(i, bound, priority_tag<2>{});
215
84
            return dist;
216
84
        }
217
42.2k
        fn::impl_i_n(i, n, priority_tag<1>{});
218
42.2k
        return n;
219
42.3k
    }
Unexecuted instantiation: std::__1::enable_if<sized_sentinel_for<wchar_t const*, wchar_t const*>, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<wchar_t const*, wchar_t const*>(wchar_t const*&, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type, wchar_t const*)
220
221
    template <typename I, typename S>
222
    static constexpr auto impl_i_n_s(I& i, iter_difference_t<I> n, S bound)
223
        -> std::enable_if_t<bidirectional_iterator<I> &&
224
                                !sized_sentinel_for<S, I>,
225
                            iter_difference_t<I>>
226
4.26k
    {
227
4.26k
        constexpr iter_difference_t<I> zero{0};
228
4.26k
        iter_difference_t<I> counter{0};
229
230
4.26k
        if (n < zero) {
231
0
            do {
232
0
                --i;
233
0
                --counter;  // Yes, really
234
0
            } while (++n < zero && i != bound);
235
0
        }
236
4.26k
        else {
237
14.5k
            while (n-- > zero && i != bound) {
238
10.2k
                ++i;
239
10.2k
                ++counter;
240
10.2k
            }
241
4.26k
        }
242
243
4.26k
        return counter;
244
4.26k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>)
std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>)
Line
Count
Source
226
3.36k
    {
227
3.36k
        constexpr iter_difference_t<I> zero{0};
228
3.36k
        iter_difference_t<I> counter{0};
229
230
3.36k
        if (n < zero) {
231
0
            do {
232
0
                --i;
233
0
                --counter;  // Yes, really
234
0
            } while (++n < zero && i != bound);
235
0
        }
236
3.36k
        else {
237
11.2k
            while (n-- > zero && i != bound) {
238
7.85k
                ++i;
239
7.85k
                ++counter;
240
7.85k
            }
241
3.36k
        }
242
243
3.36k
        return counter;
244
3.36k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>)
std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>)
Line
Count
Source
226
902
    {
227
902
        constexpr iter_difference_t<I> zero{0};
228
902
        iter_difference_t<I> counter{0};
229
230
902
        if (n < zero) {
231
0
            do {
232
0
                --i;
233
0
                --counter;  // Yes, really
234
0
            } while (++n < zero && i != bound);
235
0
        }
236
902
        else {
237
3.34k
            while (n-- > zero && i != bound) {
238
2.44k
                ++i;
239
2.44k
                ++counter;
240
2.44k
            }
241
902
        }
242
243
902
        return counter;
244
902
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>)
245
246
    template <typename I, typename S>
247
    static constexpr auto impl_i_n_s(I& i, iter_difference_t<I> n, S bound)
248
        -> std::enable_if_t<!bidirectional_iterator<I> &&
249
                                !sized_sentinel_for<S, I>,
250
                            iter_difference_t<I>>
251
0
    {
252
0
        constexpr iter_difference_t<I> zero{0};
253
0
        iter_difference_t<I> counter{0};
254
255
0
        while (n-- > zero && i != bound) {
256
0
            ++i;
257
0
            ++counter;
258
0
        }
259
260
0
        return counter;
261
0
    }
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >))&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >))&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>))&&(!(sized_sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>)), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type, scn::v4::ranges::default_sentinel_t)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >))&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >))&&(!(sized_sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>))&&(!(sized_sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>)), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::advance_::fn::impl_i_n_s<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type, scn::v4::ranges::default_sentinel_t)
262
263
public:
264
    template <typename I>
265
    constexpr auto operator()(I& i, iter_difference_t<I> n) const
266
        -> std::enable_if_t<input_or_output_iterator<I>>
267
73.1k
    {
268
73.1k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
73.1k
    }
std::__1::enable_if<input_or_output_iterator<char const*>, void>::type scn::v4::ranges::detail::advance_::fn::operator()<char const*>(char const*&, scn::v4::ranges::incrementable_traits<char const*>::difference_type) const
Line
Count
Source
267
63.5k
    {
268
63.5k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
63.5k
    }
std::__1::enable_if<input_or_output_iterator<wchar_t const*>, void>::type scn::v4::ranges::detail::advance_::fn::operator()<wchar_t const*>(wchar_t const*&, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type) const
Line
Count
Source
267
5.80k
    {
268
5.80k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
5.80k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type) const
Line
Count
Source
267
1.51k
    {
268
1.51k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
1.51k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type) const
Line
Count
Source
267
72
    {
268
72
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
72
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type) const
Line
Count
Source
267
2.19k
    {
268
2.19k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
2.19k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >, void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type) const
270
271
    template <typename I, typename S>
272
    constexpr auto operator()(I& i, S bound) const
273
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>>
274
2.09k
    {
275
2.09k
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
2.09k
    }
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), void>::type scn::v4::ranges::detail::advance_::fn::operator()<char const*, char const*>(char const*&, char const*) const
Line
Count
Source
274
922
    {
275
922
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
922
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>) const
Line
Count
Source
274
174
    {
275
174
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
174
    }
std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), void>::type scn::v4::ranges::detail::advance_::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*&, wchar_t const*) const
Line
Count
Source
274
916
    {
275
916
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
916
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), void>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>) const
Line
Count
Source
274
78
    {
275
78
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
78
    }
277
278
    template <typename I, typename S>
279
    constexpr auto operator()(I& i, iter_difference_t<I> n, S bound) const
280
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
281
                            iter_difference_t<I>>
282
46.6k
    {
283
46.6k
        return n - fn::impl_i_n_s(i, n, bound);
284
46.6k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>) const
Line
Count
Source
282
3.36k
    {
283
3.36k
        return n - fn::impl_i_n_s(i, n, bound);
284
3.36k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>)&&(sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type, scn::v4::ranges::default_sentinel_t) const
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), scn::v4::ranges::incrementable_traits<char const*>::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<char const*, char const*>(char const*&, scn::v4::ranges::incrementable_traits<char const*>::difference_type, char const*) const
Line
Count
Source
282
42.3k
    {
283
42.3k
        return n - fn::impl_i_n_s(i, n, bound);
284
42.3k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*&, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type, wchar_t const*) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>)&&(sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>), scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type, scn::v4::ranges::default_sentinel_t) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>) const
Line
Count
Source
282
902
    {
283
902
        return n - fn::impl_i_n_s(i, n, bound);
284
902
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >), scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type>::type scn::v4::ranges::detail::advance_::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>) const
285
};
286
}  // namespace detail::advance_
287
288
inline constexpr auto advance = detail::advance_::fn{};
289
290
namespace next_impl {
291
struct fn {
292
    template <typename I>
293
    constexpr auto operator()(I x) const
294
        -> std::enable_if_t<input_or_output_iterator<I>, I>
295
208M
    {
296
208M
        ++x;
297
208M
        return x;
298
208M
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator) const
std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>) const
Line
Count
Source
295
2.45k
    {
296
2.45k
        ++x;
297
2.45k
        return x;
298
2.45k
    }
std::__1::enable_if<input_or_output_iterator<char const*>, char const*>::type scn::v4::ranges::next_impl::fn::operator()<char const*>(char const*) const
Line
Count
Source
295
52.2k
    {
296
52.2k
        ++x;
297
52.2k
        return x;
298
52.2k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator) const
std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>) const
Line
Count
Source
295
1.40k
    {
296
1.40k
        ++x;
297
1.40k
        return x;
298
1.40k
    }
std::__1::enable_if<input_or_output_iterator<wchar_t const*>, wchar_t const*>::type scn::v4::ranges::next_impl::fn::operator()<wchar_t const*>(wchar_t const*) const
Line
Count
Source
295
207M
    {
296
207M
        ++x;
297
207M
        return x;
298
207M
    }
299
300
    template <typename I>
301
    constexpr auto operator()(I x, iter_difference_t<I> n) const
302
        -> std::enable_if_t<input_or_output_iterator<I>, I>
303
69.4k
    {
304
69.4k
        ranges::advance(x, n);
305
69.4k
        return x;
306
69.4k
    }
std::__1::enable_if<input_or_output_iterator<char const*>, char const*>::type scn::v4::ranges::next_impl::fn::operator()<char const*>(char const*, scn::v4::ranges::incrementable_traits<char const*>::difference_type) const
Line
Count
Source
303
63.5k
    {
304
63.5k
        ranges::advance(x, n);
305
63.5k
        return x;
306
63.5k
    }
std::__1::enable_if<input_or_output_iterator<wchar_t const*>, wchar_t const*>::type scn::v4::ranges::next_impl::fn::operator()<wchar_t const*>(wchar_t const*, scn::v4::ranges::incrementable_traits<wchar_t const*>::difference_type) const
Line
Count
Source
303
5.80k
    {
304
5.80k
        ranges::advance(x, n);
305
5.80k
        return x;
306
5.80k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type) const
Line
Count
Source
303
72
    {
304
72
        ranges::advance(x, n);
305
72
        return x;
306
72
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::incrementable_traits<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::ranges::incrementable_traits<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type) const
307
308
    template <typename I, typename S>
309
    constexpr auto operator()(I x, S bound) const
310
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
311
                            I>
312
2.09k
    {
313
2.09k
        ranges::advance(x, bound);
314
2.09k
        return x;
315
2.09k
    }
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), char const*>::type scn::v4::ranges::next_impl::fn::operator()<char const*, char const*>(char const*, char const*) const
Line
Count
Source
312
922
    {
313
922
        ranges::advance(x, bound);
314
922
        return x;
315
922
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>) const
Line
Count
Source
312
174
    {
313
174
        ranges::advance(x, bound);
314
174
        return x;
315
174
    }
std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), wchar_t const*>::type scn::v4::ranges::next_impl::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*) const
Line
Count
Source
312
916
    {
313
916
        ranges::advance(x, bound);
314
916
        return x;
315
916
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >), scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::type scn::v4::ranges::next_impl::fn::operator()<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>) const
Line
Count
Source
312
78
    {
313
78
        ranges::advance(x, bound);
314
78
        return x;
315
78
    }
316
317
    template <typename I, typename S>
318
    constexpr auto operator()(I x, iter_difference_t<I> n, S bound) const
319
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
320
                            I>
321
    {
322
        ranges::advance(x, n, bound);
323
        return x;
324
    }
325
};
326
}  // namespace next_impl
327
328
inline constexpr next_impl::fn next{};
329
330
// prev, for forward_iterators
331
namespace detail::prev_backtrack_ {
332
struct fn {
333
private:
334
    template <typename It>
335
    static constexpr auto impl(It it, It, priority_tag<2>)
336
        -> std::enable_if_t<bidirectional_iterator<It>, It>
337
    {
338
        --it;
339
        return it;
340
    }
341
342
    template <typename It>
343
    static constexpr auto impl(It it, It beg, priority_tag<1>)
344
        -> remove_cvref_t<decltype((void)beg.batch_advance(42), it)>
345
    {
346
        return beg.batch_advance(it.position() - 1);
347
    }
348
349
    template <typename It>
350
    static constexpr auto impl(It it, It beg, priority_tag<0>)
351
        -> std::enable_if_t<forward_iterator<It>, It>
352
    {
353
        SCN_EXPECT(it != beg);
354
355
        while (true) {
356
            auto tmp = beg;
357
            ++beg;
358
            if (beg == it) {
359
                return tmp;
360
            }
361
        }
362
    }
363
364
public:
365
    template <typename It>
366
    constexpr auto operator()(It it, It beg) const
367
        -> decltype(fn::impl(it, beg, priority_tag<2>{}))
368
    {
369
        return fn::impl(it, beg, priority_tag<2>{});
370
    }
371
};
372
}  // namespace detail::prev_backtrack_
373
374
inline constexpr auto prev_backtrack = detail::prev_backtrack_::fn{};
375
376
// operator<, for forward_iterators
377
namespace detail::less_backtrack_ {
378
struct fn {
379
private:
380
    template <typename It>
381
    static constexpr auto impl(It lhs, It rhs, It, priority_tag<2>)
382
        -> decltype(static_cast<void>(lhs < rhs), true)
383
    {
384
        return lhs < rhs;
385
    }
386
387
    template <typename It>
388
    static constexpr auto impl(It lhs, It rhs, It, priority_tag<1>)
389
        -> decltype(static_cast<void>(lhs.position() < rhs.position()), true)
390
    {
391
        return lhs.position() < rhs.position();
392
    }
393
394
    template <typename It>
395
    static constexpr auto impl(It lhs, It rhs, It beg, priority_tag<0>)
396
        -> std::enable_if_t<ranges::forward_iterator<It>, bool>
397
    {
398
        while (true) {
399
            if (beg == rhs) {
400
                return false;
401
            }
402
            if (beg == lhs) {
403
                return true;
404
            }
405
            ++beg;
406
        }
407
    }
408
409
public:
410
    template <typename It>
411
    constexpr auto operator()(It lhs, It rhs, It beg) const
412
        -> decltype(fn::impl(lhs, rhs, beg, priority_tag<2>{}))
413
    {
414
        return fn::impl(lhs, rhs, beg, priority_tag<2>{});
415
    }
416
};
417
}  // namespace detail::less_backtrack_
418
419
inline constexpr auto less_backtrack = detail::less_backtrack_::fn{};
420
421
}  // namespace ranges
422
423
/////////////////////////////////////////////////////////////////
424
// ASCII-only locale-free <cctype>
425
/////////////////////////////////////////////////////////////////
426
427
namespace impl {
428
inline constexpr std::array<bool, 256> is_ascii_space_lookup = {
429
    {false, false, false, false, false, false, false, false, false, true,
430
     true,  true,  true,  true,  false, false, false, false, false, false,
431
     false, false, false, false, false, false, false, false, false, false,
432
     false, false, true,  false, false, false, false, false, false, false,
433
     false, false, false, false, false, false, false, false, false, false,
434
     false, false, false, false, false, false, false, false, false, false,
435
     false, false, false, false, false, false, false, false, false, false,
436
     false, false, false, false, false, false, false, false, false, false,
437
     false, false, false, false, false, false, false, false, false, false,
438
     false, false, false, false, false, false, false, false, false, false,
439
     false, false, false, false, false, false, false, false, false, false,
440
     false, false, false, false, false, false, false, false, false, false,
441
     false, false, false, false, false, false, false, false, false, false,
442
     false, false, false, false, false, false, false, false, false, false,
443
     false, false, false, false, false, false, false, false, false, false,
444
     false, false, false, false, false, false, false, false, false, false,
445
     false, false, false, false, false, false, false, false, false, false,
446
     false, false, false, false, false, false, false, false, false, false,
447
     false, false, false, false, false, false, false, false, false, false,
448
     false, false, false, false, false, false, false, false, false, false,
449
     false, false, false, false, false, false, false, false, false, false,
450
     false, false, false, false, false, false, false, false, false, false,
451
     false, false, false, false, false, false, false, false, false, false,
452
     false, false, false, false, false, false, false, false, false, false,
453
     false, false, false, false, false, false, false, false, false, false,
454
     false, false, false, false, false, false}};
455
456
constexpr bool is_ascii_space(char ch) noexcept
457
43.9k
{
458
43.9k
    return is_ascii_space_lookup[static_cast<size_t>(
459
43.9k
        static_cast<unsigned char>(ch))];
460
43.9k
}
461
462
constexpr bool is_ascii_space(wchar_t ch) noexcept
463
0
{
464
0
    return ch == 0x20 || (ch >= 0x09 && ch <= 0x0d);
465
0
}
466
467
constexpr bool is_ascii_char(char ch) noexcept
468
260k
{
469
260k
    return static_cast<unsigned char>(ch) <= 127;
470
260k
}
471
472
constexpr bool is_ascii_char(wchar_t ch) noexcept
473
3.88k
{
474
3.88k
#if WCHAR_MIN < 0
475
3.88k
    return ch >= 0 && ch <= 127;
476
#else
477
    return ch <= 127;
478
#endif
479
3.88k
}
480
481
constexpr bool is_ascii_char(char32_t cp) noexcept
482
284k
{
483
284k
    return cp <= 127;
484
284k
}
485
486
/////////////////////////////////////////////////////////////////
487
// <bits>
488
/////////////////////////////////////////////////////////////////
489
490
inline int count_trailing_zeroes(uint64_t val)
491
0
{
492
0
    SCN_EXPECT(val != 0);
493
0
#if SCN_HAS_BITOPS
494
0
    return std::countr_zero(val);
495
0
#elif SCN_GCC_COMPAT
496
0
    return __builtin_ctzll(val);
497
0
#elif SCN_MSVC && SCN_WINDOWS_64BIT
498
0
    DWORD ret{};
499
0
    _BitScanForward64(&ret, val);
500
0
    return static_cast<int>(ret);
501
0
#elif SCN_MSVC && !SCN_WINDOWS_64BIT
502
0
    DWORD ret{};
503
0
    if (_BitScanForward(&ret, static_cast<uint32_t>(val))) {
504
0
        return static_cast<int>(ret);
505
0
    }
506
0
507
0
    _BitScanForward(&ret, static_cast<uint32_t>(val >> 32));
508
0
    return static_cast<int>(ret + 32);
509
0
#elif SCN_POSIX
510
0
    return ::ctzll(val);
511
0
#else
512
0
#define SCN_HAS_BITS_CTZ 0
513
0
    SCN_EXPECT(false);
514
0
    SCN_UNREACHABLE;
515
0
#endif
516
0
}
517
518
#ifndef SCN_HAS_BITS_CTZ
519
#define SCN_HAS_BITS_CTZ 1
520
#endif
521
522
constexpr uint64_t has_zero_byte(uint64_t word)
523
0
{
524
0
    return (word - 0x0101010101010101ull) & ~word & 0x8080808080808080ull;
525
0
}
526
527
constexpr uint64_t has_byte_between(uint64_t word, uint8_t a, uint8_t b)
528
0
{
529
0
    const auto m = static_cast<uint64_t>(a) - 1,
530
0
               n = static_cast<uint64_t>(b) + 1;
531
0
    return (((~0ull / 255 * (127 + n) - (word & ~0ull / 255 * 127)) & ~word &
532
0
             ((word & ~0ull / 255 * 127) + ~0ull / 255 * (127 - m))) &
533
0
            (~0ull / 255 * 128));
534
0
}
535
536
constexpr uint64_t has_byte_greater(uint64_t word, uint8_t n)
537
33.7k
{
538
33.7k
    SCN_GCC_PUSH
539
33.7k
    SCN_GCC_IGNORE("-Wsign-conversion")
540
33.7k
    return ((word + ~0ull / 255 * (127 - n)) | word) & ~0ull / 255 * 128;
541
33.7k
    SCN_GCC_POP
542
33.7k
}
543
544
inline size_t get_index_of_first_nonmatching_byte(uint64_t word)
545
0
{
546
0
    word ^= 0x8080808080808080ull;
547
0
    if (word == 0) {
548
0
        return 8;
549
0
    }
550
0
    return static_cast<size_t>(count_trailing_zeroes(word)) / 8;
551
0
}
552
553
inline size_t get_index_of_first_matching_byte(uint64_t word, uint64_t pattern)
554
0
{
555
0
    constexpr auto mask = 0x7f7f7f7f7f7f7f7full;
556
0
    auto input = word ^ pattern;
557
0
    auto tmp = (input & mask) + mask;
558
0
    tmp = ~(tmp | input | mask);
559
0
    return static_cast<size_t>(count_trailing_zeroes(tmp)) / 8;
560
0
}
561
562
constexpr uint32_t log2_fast(uint32_t val)
563
0
{
564
0
    constexpr uint8_t lookup[] = {0,  9,  1,  10, 13, 21, 2,  29, 11, 14, 16,
565
0
                                  18, 22, 25, 3,  30, 8,  12, 20, 28, 15, 17,
566
0
                                  24, 7,  19, 27, 23, 6,  26, 5,  4,  31};
567
0
568
0
    val |= val >> 1;
569
0
    val |= val >> 2;
570
0
    val |= val >> 4;
571
0
    val |= val >> 8;
572
0
    val |= val >> 16;
573
0
574
0
    return static_cast<uint32_t>(lookup[(val * 0x07c4acddu) >> 27]);
575
0
}
576
577
constexpr uint32_t log2_pow2_fast(uint32_t val)
578
0
{
579
0
    constexpr uint8_t lookup[] = {0,  1,  28, 2,  29, 14, 24, 3,  30, 22, 20,
580
0
                                  15, 25, 17, 4,  8,  31, 27, 13, 23, 21, 19,
581
0
                                  16, 7,  26, 12, 18, 6,  11, 5,  10, 9};
582
0
583
0
    return static_cast<uint32_t>(lookup[(val * 0x077cb531u) >> 27]);
584
0
}
585
586
constexpr uint64_t byteswap(uint64_t val)
587
0
{
588
0
    return (val & 0xFF00000000000000) >> 56 | (val & 0x00FF000000000000) >> 40 |
589
0
           (val & 0x0000FF0000000000) >> 24 | (val & 0x000000FF00000000) >> 8 |
590
0
           (val & 0x00000000FF000000) << 8 | (val & 0x0000000000FF0000) << 24 |
591
0
           (val & 0x000000000000FF00) << 40 | (val & 0x00000000000000FF) << 56;
592
0
}
593
594
/////////////////////////////////////////////////////////////////
595
// <function_ref>
596
/////////////////////////////////////////////////////////////////
597
598
namespace fnref_detail {
599
template <class T>
600
inline constexpr auto select_param_type = [] {
601
    if constexpr (std::is_trivially_copyable_v<T>) {
602
        return detail::type_identity<T>();
603
    }
604
    else {
605
        return std::add_rvalue_reference<T>();
606
    }
607
};
608
609
template <class T>
610
using param_t =
611
    typename std::invoke_result_t<decltype(select_param_type<T>)>::type;
612
613
template <typename Sig>
614
struct qual_fn_sig;
615
616
template <typename R, typename... Args>
617
struct qual_fn_sig<R(Args...)> {
618
    using function = R(Args...);
619
620
    static constexpr bool is_noexcept = false;
621
622
    template <typename... T>
623
    static constexpr bool is_invocable_using =
624
        std::is_invocable_r_v<R, T..., Args...>;
625
626
    template <typename T>
627
    using cv = T;
628
};
629
630
template <typename R, typename... Args>
631
struct qual_fn_sig<R(Args...) noexcept> {
632
    using function = R(Args...);
633
634
    static constexpr bool is_noexcept = true;
635
636
    template <typename... T>
637
    static constexpr bool is_invocable_using =
638
        std::is_nothrow_invocable_r_v<R, T..., Args...>;
639
640
    template <typename T>
641
    using cv = T;
642
};
643
644
template <typename R, typename... Args>
645
struct qual_fn_sig<R(Args...) const> : qual_fn_sig<R(Args...)> {
646
    template <typename T>
647
    using cv = T const;
648
};
649
650
template <typename R, typename... Args>
651
struct qual_fn_sig<R(Args...) const noexcept>
652
    : qual_fn_sig<R(Args...) noexcept> {
653
    template <typename T>
654
    using cv = T const;
655
};
656
657
#if SCN_CLANG >= SCN_COMPILER(16, 0, 0)
658
SCN_CLANG_PUSH
659
SCN_CLANG_IGNORE("-Wcast-function-type-strict")
660
#endif
661
struct base {
662
    union storage {
663
        constexpr storage() = default;
664
665
        template <typename T, std::enable_if_t<std::is_object_v<T>>* = nullptr>
666
307k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
307k
        {
668
307k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2INSt3__110__not_fn_tINS1_12function_refIFbcES9_EEEETnPNS6_9enable_ifIXsr3stdE11is_object_vIT_EEvE4typeELPv0EEEPSD_
Line
Count
Source
666
2.66k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
2.66k
        {
668
2.66k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2INSt3__110__not_fn_tINS1_12function_refIFbDiES9_EEEETnPNS6_9enable_ifIXsr3stdE11is_object_vIT_EEvE4typeELPv0EEEPSD_
Line
Count
Source
666
125k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
125k
        {
668
125k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlcE_TnPNSQ_9enable_ifIXsr3stdE11is_object_vISS_EEvE4typeELPv0EEEPSS_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlcE_TnPNSI_9enable_ifIXsr3stdE11is_object_vISK_EEvE4typeELPv0EEEPSK_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_20calculate_text_widthIcEEmNSt3__117basic_string_viewIT_NS7_11char_traitsIS9_EEEEEUlDiE_TnPNS7_9enable_ifIXsr3stdE11is_object_vIS9_EEvE4typeELPv0EEEPS9_
Line
Count
Source
666
40.4k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
40.4k
        {
668
40.4k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_TnPNS8_9enable_ifIXsr3stdE11is_object_vISH_EEvE4typeELPv0EEEPSH_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_TnPNS8_9enable_ifIXsr3stdE11is_object_vISG_EEvE4typeELPv0EEEPSG_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlcE_TnPNSN_9enable_ifIXsr3stdE11is_object_vISP_EEvE4typeELPv0EEEPSP_
Line
Count
Source
666
1.00k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
1.00k
        {
668
1.00k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_TnPNSG_9enable_ifIXsr3stdE11is_object_vISI_EEvE4typeELPv0EEEPSI_
Line
Count
Source
666
556
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
556
        {
668
556
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlcE_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlcE_TnPNSR_9enable_ifIXsr3stdE11is_object_vIST_EEvE4typeELPv0EEEPST_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlcE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlcE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlcE_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
Line
Count
Source
666
8
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
8
        {
668
8
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlcE_TnPNSO_9enable_ifIXsr3stdE11is_object_vISQ_EEvE4typeELPv0EEEPSQ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
Line
Count
Source
666
348
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
348
        {
668
348
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlcE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlcE_TnPNSG_9enable_ifIXsr3stdE11is_object_vISI_EEvE4typeELPv0EEEPSI_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
22
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
22
        {
668
22
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Line
Count
Source
666
12
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
12
        {
668
12
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Line
Count
Source
666
344
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
344
        {
668
344
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
6
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
6
        {
668
6
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
294
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
294
        {
668
294
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_TnPNSG_9enable_ifIXsr3stdE11is_object_vISI_EEvE4typeELPv0EEEPSI_
Line
Count
Source
666
954
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
954
        {
668
954
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2INSt3__110__not_fn_tINS1_12function_refIFbwES9_EEEETnPNS6_9enable_ifIXsr3stdE11is_object_vIT_EEvE4typeELPv0EEEPSD_
Line
Count
Source
666
2.81k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
2.81k
        {
668
2.81k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlwE_TnPNSQ_9enable_ifIXsr3stdE11is_object_vISS_EEvE4typeELPv0EEEPSS_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlwE_TnPNSI_9enable_ifIXsr3stdE11is_object_vISK_EEvE4typeELPv0EEEPSK_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_20calculate_text_widthIwEEmNSt3__117basic_string_viewIT_NS7_11char_traitsIS9_EEEEEUlDiE_TnPNS7_9enable_ifIXsr3stdE11is_object_vIS9_EEvE4typeELPv0EEEPS9_
Line
Count
Source
666
3.44k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
3.44k
        {
668
3.44k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_TnPNS8_9enable_ifIXsr3stdE11is_object_vISH_EEvE4typeELPv0EEEPSH_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_TnPNS8_9enable_ifIXsr3stdE11is_object_vISG_EEvE4typeELPv0EEEPSG_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_TnPNS7_9enable_ifIXsr3stdE11is_object_vISE_EEvE4typeELPv0EEEPSE_
Line
Count
Source
666
55.9k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
55.9k
        {
668
55.9k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlwE_TnPNSN_9enable_ifIXsr3stdE11is_object_vISP_EEvE4typeELPv0EEEPSP_
Line
Count
Source
666
526
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
526
        {
668
526
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_TnPNSG_9enable_ifIXsr3stdE11is_object_vISI_EEvE4typeELPv0EEEPSI_
Line
Count
Source
666
438
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
438
        {
668
438
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_TnPNSE_9enable_ifIXsr3stdE11is_object_vISG_EEvE4typeELPv0EEEPSG_
Line
Count
Source
666
62.8k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
62.8k
        {
668
62.8k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlwE_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlwE_TnPNSR_9enable_ifIXsr3stdE11is_object_vIST_EEvE4typeELPv0EEEPST_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_TnPNSS_9enable_ifIXsr3stdE11is_object_vISU_EEvE4typeELPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlwE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlwE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlwE_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
Line
Count
Source
666
26
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
26
        {
668
26
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlwE_TnPNSO_9enable_ifIXsr3stdE11is_object_vISQ_EEvE4typeELPv0EEEPSQ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_TnPNSP_9enable_ifIXsr3stdE11is_object_vISR_EEvE4typeELPv0EEEPSR_
Line
Count
Source
666
184
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
184
        {
668
184
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlwE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlwE_TnPNSG_9enable_ifIXsr3stdE11is_object_vISI_EEvE4typeELPv0EEEPSI_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
24
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
24
        {
668
24
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Line
Count
Source
666
16
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
16
        {
668
16
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Line
Count
Source
666
172
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
172
        {
668
172
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
16
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
16
        {
668
16
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
430
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
430
        {
668
430
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_TnPNSG_9enable_ifIXsr3stdE11is_object_vISI_EEvE4typeELPv0EEEPSI_
Line
Count
Source
666
450
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
450
        {
668
450
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_TnPNSE_9enable_ifIXsr3stdE11is_object_vISG_EEvE4typeELPv0EEEPSG_
Line
Count
Source
666
2.61k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
2.61k
        {
668
2.61k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_TnPNS7_9enable_ifIXsr3stdE11is_object_vISE_EEvE4typeELPv0EEEPSE_
Line
Count
Source
666
72
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
72
        {
668
72
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
644
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
644
        {
668
644
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
2.19k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
2.19k
        {
668
2.19k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
490
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
490
        {
668
490
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPSJ_
Line
Count
Source
666
1.20k
        constexpr explicit storage(T* p) noexcept : m_p(p)
667
1.20k
        {
668
1.20k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPSM_
669
670
        template <typename T, std::enable_if_t<std::is_object_v<T>>* = nullptr>
671
7.32k
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
7.32k
        {
673
7.32k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlcE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPKSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlcE_TnPNSI_9enable_ifIXsr3stdE11is_object_vISK_EEvE4typeELPv0EEEPKSK_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_TnPNS8_9enable_ifIXsr3stdE11is_object_vISH_EEvE4typeELPv0EEEPKSH_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlcE_TnPNS7_9enable_ifIXsr3stdE11is_object_vISF_EEvE4typeELPv0EEEPKSF_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_TnPNSF_9enable_ifIXsr3stdE11is_object_vISH_EEvE4typeELPv0EEEPKSH_
Line
Count
Source
671
468
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
468
        {
673
468
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlcE_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPKSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlcE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPKSM_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPKSL_
Line
Count
Source
671
450
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
450
        {
673
450
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlcE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPKSL_
Line
Count
Source
671
378
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
378
        {
673
378
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPKSJ_
Line
Count
Source
671
2.32k
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
2.32k
        {
673
2.32k
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlcE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPKSJ_
Line
Count
Source
671
210
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
210
        {
673
210
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlwE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPKSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlwE_TnPNSI_9enable_ifIXsr3stdE11is_object_vISK_EEvE4typeELPv0EEEPKSK_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_TnPNS8_9enable_ifIXsr3stdE11is_object_vISH_EEvE4typeELPv0EEEPKSH_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlwE_TnPNS7_9enable_ifIXsr3stdE11is_object_vISF_EEvE4typeELPv0EEEPKSF_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_TnPNSF_9enable_ifIXsr3stdE11is_object_vISH_EEvE4typeELPv0EEEPKSH_
Line
Count
Source
671
1.35k
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
1.35k
        {
673
1.35k
        }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlwE_TnPNSM_9enable_ifIXsr3stdE11is_object_vISO_EEvE4typeELPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPKSM_
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlwE_TnPNSK_9enable_ifIXsr3stdE11is_object_vISM_EEvE4typeELPv0EEEPKSM_
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPKSL_
Line
Count
Source
671
354
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
354
        {
673
354
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlwE_TnPNSJ_9enable_ifIXsr3stdE11is_object_vISL_EEvE4typeELPv0EEEPKSL_
Line
Count
Source
671
192
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
192
        {
673
192
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPKSJ_
Line
Count
Source
671
402
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
402
        {
673
402
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlwE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPKSJ_
Line
Count
Source
671
192
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
192
        {
673
192
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlcE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPKSJ_
Line
Count
Source
671
492
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
492
        {
673
492
        }
_ZN3scn2v44impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlwE_TnPNSH_9enable_ifIXsr3stdE11is_object_vISJ_EEvE4typeELPv0EEEPKSJ_
Line
Count
Source
671
510
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
672
510
        {
673
510
        }
674
675
        template <typename F,
676
                  std::enable_if_t<std::is_function_v<F>>* = nullptr>
677
        constexpr explicit storage(F* f) noexcept
678
            : m_fp(reinterpret_cast<decltype(m_fp)>(f))
679
        {
680
        }
681
682
        void* m_p{nullptr};
683
        const void* m_cp;
684
        void (*m_fp)();
685
    };
686
687
    template <typename T>
688
    static constexpr auto get(storage s)
689
1.06M
    {
690
1.06M
        if constexpr (std::is_const_v<T>) {
691
303k
            return static_cast<T*>(s.m_cp);
692
        }
693
760k
        else if constexpr (std::is_object_v<T>) {
694
760k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
1.06M
    }
auto scn::v4::impl::fnref_detail::base::get<std::__1::__not_fn_t<scn::v4::impl::function_ref<bool (char), bool (char)> > >(scn::v4::impl::fnref_detail::base::storage)
Line
Count
Source
689
7.07k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
7.07k
        else if constexpr (std::is_object_v<T>) {
694
7.07k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
7.07k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_lRKNSB_9fill_typeEbEUlcE_EEDaNS3_7storageE
auto scn::v4::impl::fnref_detail::base::get<std::__1::__not_fn_t<scn::v4::impl::function_ref<bool (char32_t), bool (char32_t)> > >(scn::v4::impl::fnref_detail::base::storage)
Line
Count
Source
689
460k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
460k
        else if constexpr (std::is_object_v<T>) {
694
460k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
460k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNSA_9fill_typeEbEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEENS1_15take_width_viewINS9_ISF_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_iEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_iEUlcE_EEDaNS3_7storageE
auto scn::v4::impl::fnref_detail::base::get<scn::v4::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}>(scn::v4::impl::fnref_detail::base::storage)
Line
Count
Source
689
48.1k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
48.1k
        else if constexpr (std::is_object_v<T>) {
694
48.1k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
48.1k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESG_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEENS0_13scan_expectedINS6_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESE_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSD_EENS1_15take_width_viewINS9_ISD_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iEUlcE_EEDaNS3_7storageE
Line
Count
Source
689
1.00k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
1.00k
        else if constexpr (std::is_object_v<T>) {
694
1.00k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
1.00k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
Line
Count
Source
689
886
    {
690
886
        if constexpr (std::is_const_v<T>) {
691
886
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
886
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
1.70k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
1.70k
        else if constexpr (std::is_object_v<T>) {
694
1.70k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
1.70k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_EUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESS_NSQ_17basic_string_viewIcNSQ_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_EUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_EUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
689
8
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
8
        else if constexpr (std::is_object_v<T>) {
694
8
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
8
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
689
348
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
348
        else if constexpr (std::is_object_v<T>) {
694
348
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
348
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_EUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
689
22
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
22
        else if constexpr (std::is_object_v<T>) {
694
22
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
22
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
689
12
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
12
        else if constexpr (std::is_object_v<T>) {
694
12
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
12
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
689
344
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
344
        else if constexpr (std::is_object_v<T>) {
694
344
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
344
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
689
6
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
6
        else if constexpr (std::is_object_v<T>) {
694
6
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
6
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
689
294
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
294
        else if constexpr (std::is_object_v<T>) {
694
294
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
294
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
10.3k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
10.3k
        else if constexpr (std::is_object_v<T>) {
694
10.3k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
10.3k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
10.2k
    {
690
10.2k
        if constexpr (std::is_const_v<T>) {
691
10.2k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
10.2k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
Line
Count
Source
689
7.21k
    {
690
7.21k
        if constexpr (std::is_const_v<T>) {
691
7.21k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
7.21k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
264k
    {
690
264k
        if constexpr (std::is_const_v<T>) {
691
264k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
264k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
Line
Count
Source
689
3.13k
    {
690
3.13k
        if constexpr (std::is_const_v<T>) {
691
3.13k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
3.13k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
auto scn::v4::impl::fnref_detail::base::get<std::__1::__not_fn_t<scn::v4::impl::function_ref<bool (wchar_t), bool (wchar_t)> > >(scn::v4::impl::fnref_detail::base::storage)
Line
Count
Source
689
6.51k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
6.51k
        else if constexpr (std::is_object_v<T>) {
694
6.51k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
6.51k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_lRKNSB_9fill_typeEbEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNSA_9fill_typeEbEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEENS1_15take_width_viewINS9_ISF_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_iEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_iEUlwE_EEDaNS3_7storageE
auto scn::v4::impl::fnref_detail::base::get<scn::v4::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}>(scn::v4::impl::fnref_detail::base::storage)
Line
Count
Source
689
8.87k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
8.87k
        else if constexpr (std::is_object_v<T>) {
694
8.87k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
8.87k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESG_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEENS0_13scan_expectedINS6_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESE_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS6_9add_constIT_E4typeEEEEESD_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
58.1k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
58.1k
        else if constexpr (std::is_object_v<T>) {
694
58.1k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
58.1k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSD_EENS1_15take_width_viewINS9_ISD_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iEUlwE_EEDaNS3_7storageE
Line
Count
Source
689
556
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
556
        else if constexpr (std::is_object_v<T>) {
694
556
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
556
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
Line
Count
Source
689
2.20k
    {
690
2.20k
        if constexpr (std::is_const_v<T>) {
691
2.20k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
2.20k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
850
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
850
        else if constexpr (std::is_object_v<T>) {
694
850
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
850
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
120k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
120k
        else if constexpr (std::is_object_v<T>) {
694
120k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
120k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESS_NSQ_17basic_string_viewIcNSQ_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
689
28
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
28
        else if constexpr (std::is_object_v<T>) {
694
28
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
28
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
689
188
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
188
        else if constexpr (std::is_object_v<T>) {
694
188
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
188
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
689
28
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
28
        else if constexpr (std::is_object_v<T>) {
694
28
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
28
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
689
16
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
16
        else if constexpr (std::is_object_v<T>) {
694
16
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
16
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
689
172
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
172
        else if constexpr (std::is_object_v<T>) {
694
172
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
172
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
689
16
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
16
        else if constexpr (std::is_object_v<T>) {
694
16
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
16
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
689
430
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
430
        else if constexpr (std::is_object_v<T>) {
694
430
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
430
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
5.85k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
5.85k
        else if constexpr (std::is_object_v<T>) {
694
5.85k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
5.85k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
4.77k
    {
690
4.77k
        if constexpr (std::is_const_v<T>) {
691
4.77k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
4.77k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
Line
Count
Source
689
1.72k
    {
690
1.72k
        if constexpr (std::is_const_v<T>) {
691
1.72k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
1.72k
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
20.4k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
20.4k
        else if constexpr (std::is_object_v<T>) {
694
20.4k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
20.4k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
4.98k
    {
690
4.98k
        if constexpr (std::is_const_v<T>) {
691
4.98k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
4.98k
    }
_ZN3scn2v44impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
Line
Count
Source
689
2.16k
    {
690
2.16k
        if constexpr (std::is_const_v<T>) {
691
2.16k
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
2.16k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS6_9add_constIT_E4typeEEEEESD_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
1.83k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
1.83k
        else if constexpr (std::is_object_v<T>) {
694
1.83k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
1.83k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
689
644
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
644
        else if constexpr (std::is_object_v<T>) {
694
644
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
644
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
Line
Count
Source
689
708
    {
690
708
        if constexpr (std::is_const_v<T>) {
691
708
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
708
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
3.40k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
3.40k
        else if constexpr (std::is_object_v<T>) {
694
3.40k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
3.40k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
689
490
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
490
        else if constexpr (std::is_object_v<T>) {
694
490
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
490
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
_ZN3scn2v44impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
Line
Count
Source
689
782
    {
690
782
        if constexpr (std::is_const_v<T>) {
691
782
            return static_cast<T*>(s.m_cp);
692
        }
693
        else if constexpr (std::is_object_v<T>) {
694
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
782
    }
_ZN3scn2v44impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
689
1.68k
    {
690
        if constexpr (std::is_const_v<T>) {
691
            return static_cast<T*>(s.m_cp);
692
        }
693
1.68k
        else if constexpr (std::is_object_v<T>) {
694
1.68k
            return static_cast<T*>(s.m_p);
695
        }
696
        else {
697
            return reinterpret_cast<T*>(s.m_fp);
698
        }
699
1.68k
    }
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v44impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
700
};
701
#if SCN_CLANG >= SCN_COMPILER(16, 0, 0)
702
SCN_CLANG_POP  // -Wcast-function-type-strict
703
#endif
704
705
}  // namespace fnref_detail
706
707
template <typename Sig,
708
          typename = typename fnref_detail::qual_fn_sig<Sig>::function>
709
class function_ref;
710
711
template <typename Sig, typename R, typename... Args>
712
class function_ref<Sig, R(Args...)> : fnref_detail::base {
713
    using signature = fnref_detail::qual_fn_sig<Sig>;
714
715
    template <typename T>
716
    using cv = typename signature::template cv<T>;
717
    template <typename T>
718
    using cvref = cv<T>&;
719
    static constexpr bool noex = signature::is_noexcept;
720
721
    template <typename... T>
722
    static constexpr bool is_invocable_using =
723
        signature::template is_invocable_using<T...>;
724
725
    using fwd_t = R(storage, fnref_detail::param_t<Args>...) noexcept(noex);
726
727
public:
728
    template <typename F,
729
              std::enable_if_t<std::is_function_v<F> &&
730
                               is_invocable_using<F>>* = nullptr>
731
    /*implicit*/ function_ref(F* f) noexcept
732
        : m_fptr([](storage fn,
733
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
734
              if constexpr (std::is_void_v<R>) {
735
                  get<F>(fn)(static_cast<decltype(args)>(args)...);
736
              }
737
              else {
738
                  return get<F>(fn)(static_cast<decltype(args)>(args)...);
739
              }
740
          }),
741
          m_storage(f)
742
    {
743
        SCN_EXPECT(f != nullptr);
744
    }
745
746
    template <typename F,
747
              typename T = std::remove_reference_t<F>,
748
              std::enable_if_t<detail::is_not_self<F, function_ref> &&
749
                               !std::is_member_pointer_v<T> &&
750
                               is_invocable_using<cvref<T>>>* = nullptr>
751
    /*implicit*/ constexpr function_ref(F&& f) noexcept
752
314k
        : m_fptr([](storage fn,
753
1.06M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.06M
              cvref<T> obj = *get<T>(fn);
755
1.06M
              if constexpr (std::is_void_v<R>) {
756
57.0k
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
1.00M
              else {
759
1.00M
                  return obj(static_cast<decltype(args)>(args)...);
760
1.00M
              }
761
1.06M
          }),
_ZZN3scn2v44impl12function_refIFbcES3_EC1INSt3__110__not_fn_tIS4_EES8_TnPNS6_9enable_ifIXaaaasr6detailE11is_not_selfIT_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSB_EEvE4typeELPv0EEEOSA_ENKUlNS1_12fnref_detail4base7storageEcE_clESK_c
Line
Count
Source
753
7.07k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
7.07k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
7.07k
              else {
759
7.07k
                  return obj(static_cast<decltype(args)>(args)...);
760
7.07k
              }
761
7.07k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlcE_SV_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSY_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES17_c
_ZZN3scn2v44impl12function_refIFbDiES3_EC1INSt3__110__not_fn_tIS4_EES8_TnPNS6_9enable_ifIXaaaasr6detailE11is_not_selfIT_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSB_EEvE4typeELPv0EEEOSA_ENKUlNS1_12fnref_detail4base7storageEDiE_clESK_Di
Line
Count
Source
753
460k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
460k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
460k
              else {
759
460k
                  return obj(static_cast<decltype(args)>(args)...);
760
460k
              }
761
460k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_SR_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clES12_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clES11_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlcE_ST_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlcE_SY_TnPNSQ_9enable_ifIXaaaasr6detailE11is_not_selfISS_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS10_EEvE4typeELPv0EEEOSS_ENKUlNS1_12fnref_detail4base7storageEcE_clES19_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlcE_SQ_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEcE_clES11_c
_ZZN3scn2v44impl12function_refIFvDiES3_EC1IZNS1_20calculate_text_widthIcEEmNSt3__117basic_string_viewIT_NS7_11char_traitsIS9_EEEEEUlDiE_SD_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfIS9_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSF_EEvE4typeELPv0EEEOS9_ENKUlNS1_12fnref_detail4base7storageEDiE_clESO_Di
Line
Count
Source
753
48.1k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
48.1k
              cvref<T> obj = *get<T>(fn);
755
48.1k
              if constexpr (std::is_void_v<R>) {
756
48.1k
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
              else {
759
                  return obj(static_cast<decltype(args)>(args)...);
760
              }
761
48.1k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_SM_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSO_EEvE4typeELPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEDiE_clESX_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESW_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlcE_SP_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISF_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSF_ENKUlNS1_12fnref_detail4base7storageEcE_clES11_c
_ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlcE_SV_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
Line
Count
Source
753
1.00k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.00k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
1.00k
              else {
759
1.00k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.00k
              }
761
1.00k
          }),
_ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_TnPNSF_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Line
Count
Source
753
886
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
886
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
886
              else {
759
886
                  return obj(static_cast<decltype(args)>(args)...);
760
886
              }
761
886
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESY_Di
Line
Count
Source
753
1.70k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.70k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
1.70k
              else {
759
1.70k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.70k
              }
761
1.70k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlcE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES1B_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES1B_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES1B_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlcE_S12_TnPNSR_9enable_ifIXaaaasr6detailE11is_not_selfIST_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS14_EEvE4typeELPv0EEEOST_ENKUlNS1_12fnref_detail4base7storageEcE_clES1D_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES1B_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES1B_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlcE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlcE_SU_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlcE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
_ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Line
Count
Source
753
8
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
8
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
8
              else {
759
8
                  return obj(static_cast<decltype(args)>(args)...);
760
8
              }
761
8
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlcE_SZ_TnPNSO_9enable_ifIXaaaasr6detailE11is_not_selfISQ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS11_EEvE4typeELPv0EEEOSQ_ENKUlNS1_12fnref_detail4base7storageEcE_clES1A_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
_ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Line
Count
Source
753
348
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
348
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
348
              else {
759
348
                  return obj(static_cast<decltype(args)>(args)...);
760
348
              }
761
348
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlcE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES10_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES10_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES10_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlcE_SR_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEcE_clES12_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES10_c
_ZZN3scn2v44impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES10_c
Line
Count
Source
753
22
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
22
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
22
              else {
759
22
                  return obj(static_cast<decltype(args)>(args)...);
760
22
              }
761
22
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Line
Count
Source
753
12
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
12
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
12
              else {
759
12
                  return obj(static_cast<decltype(args)>(args)...);
760
12
              }
761
12
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Line
Count
Source
753
344
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
344
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
344
              else {
759
344
                  return obj(static_cast<decltype(args)>(args)...);
760
344
              }
761
344
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Line
Count
Source
753
6
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
6
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
6
              else {
759
6
                  return obj(static_cast<decltype(args)>(args)...);
760
6
              }
761
6
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Line
Count
Source
753
294
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
294
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
294
              else {
759
294
                  return obj(static_cast<decltype(args)>(args)...);
760
294
              }
761
294
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clES11_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEDiE_clES18_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlcE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clES16_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlcE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESY_Di
Line
Count
Source
753
10.3k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
10.3k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
10.3k
              else {
759
10.3k
                  return obj(static_cast<decltype(args)>(args)...);
760
10.3k
              }
761
10.3k
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clES15_Di
Line
Count
Source
753
10.2k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
10.2k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
10.2k
              else {
759
10.2k
                  return obj(static_cast<decltype(args)>(args)...);
760
10.2k
              }
761
10.2k
          }),
_ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlcE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Line
Count
Source
753
7.21k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
7.21k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
7.21k
              else {
759
7.21k
                  return obj(static_cast<decltype(args)>(args)...);
760
7.21k
              }
761
7.21k
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clES13_Di
Line
Count
Source
753
264k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
264k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
264k
              else {
759
264k
                  return obj(static_cast<decltype(args)>(args)...);
760
264k
              }
761
264k
          }),
_ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlcE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
Line
Count
Source
753
3.13k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
3.13k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
3.13k
              else {
759
3.13k
                  return obj(static_cast<decltype(args)>(args)...);
760
3.13k
              }
761
3.13k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
_ZZN3scn2v44impl12function_refIFbwES3_EC1INSt3__110__not_fn_tIS4_EES8_TnPNS6_9enable_ifIXaaaasr6detailE11is_not_selfIT_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSB_EEvE4typeELPv0EEEOSA_ENKUlNS1_12fnref_detail4base7storageEwE_clESK_w
Line
Count
Source
753
6.51k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
6.51k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
6.51k
              else {
759
6.51k
                  return obj(static_cast<decltype(args)>(args)...);
760
6.51k
              }
761
6.51k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlwE_SV_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSY_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES17_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_SR_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clES12_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clES11_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlwE_ST_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlwE_SY_TnPNSQ_9enable_ifIXaaaasr6detailE11is_not_selfISS_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS10_EEvE4typeELPv0EEEOSS_ENKUlNS1_12fnref_detail4base7storageEwE_clES19_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlwE_SQ_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEwE_clES11_w
_ZZN3scn2v44impl12function_refIFvDiES3_EC1IZNS1_20calculate_text_widthIwEEmNSt3__117basic_string_viewIT_NS7_11char_traitsIS9_EEEEEUlDiE_SD_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfIS9_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSF_EEvE4typeELPv0EEEOS9_ENKUlNS1_12fnref_detail4base7storageEDiE_clESO_Di
Line
Count
Source
753
8.87k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
8.87k
              cvref<T> obj = *get<T>(fn);
755
8.87k
              if constexpr (std::is_void_v<R>) {
756
8.87k
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
              else {
759
                  return obj(static_cast<decltype(args)>(args)...);
760
              }
761
8.87k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_SM_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSO_EEvE4typeELPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEDiE_clESX_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESW_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlwE_SP_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISF_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSF_ENKUlNS1_12fnref_detail4base7storageEwE_clES11_w
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISE_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSL_EEvE4typeELPv0EEEOSE_ENKUlNS1_12fnref_detail4base7storageEDiE_clESU_Di
Line
Count
Source
753
58.1k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
58.1k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
58.1k
              else {
759
58.1k
                  return obj(static_cast<decltype(args)>(args)...);
760
58.1k
              }
761
58.1k
          }),
_ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlwE_SV_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
Line
Count
Source
753
556
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
556
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
556
              else {
759
556
                  return obj(static_cast<decltype(args)>(args)...);
760
556
              }
761
556
          }),
_ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_TnPNSF_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Line
Count
Source
753
2.20k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
2.20k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
2.20k
              else {
759
2.20k
                  return obj(static_cast<decltype(args)>(args)...);
760
2.20k
              }
761
2.20k
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESY_Di
Line
Count
Source
753
850
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
850
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
850
              else {
759
850
                  return obj(static_cast<decltype(args)>(args)...);
760
850
              }
761
850
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNSE_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESW_Di
Line
Count
Source
753
120k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
120k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
120k
              else {
759
120k
                  return obj(static_cast<decltype(args)>(args)...);
760
120k
              }
761
120k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlwE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES1B_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES1B_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES1B_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlwE_S12_TnPNSR_9enable_ifIXaaaasr6detailE11is_not_selfIST_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS14_EEvE4typeELPv0EEEOST_ENKUlNS1_12fnref_detail4base7storageEwE_clES1D_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES1B_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES1B_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlwE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlwE_SU_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlwE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
_ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Line
Count
Source
753
28
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
28
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
28
              else {
759
28
                  return obj(static_cast<decltype(args)>(args)...);
760
28
              }
761
28
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlwE_SZ_TnPNSO_9enable_ifIXaaaasr6detailE11is_not_selfISQ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS11_EEvE4typeELPv0EEEOSQ_ENKUlNS1_12fnref_detail4base7storageEwE_clES1A_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
_ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Line
Count
Source
753
188
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
188
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
188
              else {
759
188
                  return obj(static_cast<decltype(args)>(args)...);
760
188
              }
761
188
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlwE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES10_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES10_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES10_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlwE_SR_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEwE_clES12_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES10_w
_ZZN3scn2v44impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES10_w
Line
Count
Source
753
28
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
28
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
28
              else {
759
28
                  return obj(static_cast<decltype(args)>(args)...);
760
28
              }
761
28
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Line
Count
Source
753
16
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
16
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
16
              else {
759
16
                  return obj(static_cast<decltype(args)>(args)...);
760
16
              }
761
16
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Line
Count
Source
753
172
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
172
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
172
              else {
759
172
                  return obj(static_cast<decltype(args)>(args)...);
760
172
              }
761
172
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Line
Count
Source
753
16
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
16
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
16
              else {
759
16
                  return obj(static_cast<decltype(args)>(args)...);
760
16
              }
761
16
          }),
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Line
Count
Source
753
430
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
430
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
430
              else {
759
430
                  return obj(static_cast<decltype(args)>(args)...);
760
430
              }
761
430
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1J_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1E_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1H_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES1C_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clES11_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEDiE_clES18_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlwE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clES16_Di
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlwE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESY_Di
Line
Count
Source
753
5.85k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
5.85k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
5.85k
              else {
759
5.85k
                  return obj(static_cast<decltype(args)>(args)...);
760
5.85k
              }
761
5.85k
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clES15_Di
Line
Count
Source
753
4.77k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
4.77k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
4.77k
              else {
759
4.77k
                  return obj(static_cast<decltype(args)>(args)...);
760
4.77k
              }
761
4.77k
          }),
_ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlwE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Line
Count
Source
753
1.72k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.72k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
1.72k
              else {
759
1.72k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.72k
              }
761
1.72k
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNSE_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESW_Di
Line
Count
Source
753
20.4k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
20.4k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
20.4k
              else {
759
20.4k
                  return obj(static_cast<decltype(args)>(args)...);
760
20.4k
              }
761
20.4k
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clES13_Di
Line
Count
Source
753
4.98k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
4.98k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
4.98k
              else {
759
4.98k
                  return obj(static_cast<decltype(args)>(args)...);
760
4.98k
              }
761
4.98k
          }),
_ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlwE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
Line
Count
Source
753
2.16k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
2.16k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
2.16k
              else {
759
2.16k
                  return obj(static_cast<decltype(args)>(args)...);
760
2.16k
              }
761
2.16k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISE_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSL_EEvE4typeELPv0EEEOSE_ENKUlNS1_12fnref_detail4base7storageEDiE_clESU_Di
Line
Count
Source
753
1.83k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.83k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
1.83k
              else {
759
1.83k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.83k
              }
761
1.83k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES19_S9_SE_SG_
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES19_S9_SE_SG_
Line
Count
Source
753
644
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
644
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
644
              else {
759
644
                  return obj(static_cast<decltype(args)>(args)...);
760
644
              }
761
644
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES19_S9_SE_SG_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1B_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1B_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1B_SB_SH_SI_
_ZZN3scn2v44impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlcE_ST_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Line
Count
Source
753
708
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
708
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
708
              else {
759
708
                  return obj(static_cast<decltype(args)>(args)...);
760
708
              }
761
708
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
Line
Count
Source
753
3.40k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
3.40k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
3.40k
              else {
759
3.40k
                  return obj(static_cast<decltype(args)>(args)...);
760
3.40k
              }
761
3.40k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES19_S9_SE_SG_
_ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES19_S9_SE_SG_
Line
Count
Source
753
490
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
490
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
490
              else {
759
490
                  return obj(static_cast<decltype(args)>(args)...);
760
490
              }
761
490
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES19_S9_SE_SG_
_ZZN3scn2v44impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlwE_ST_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Line
Count
Source
753
782
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
782
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
782
              else {
759
782
                  return obj(static_cast<decltype(args)>(args)...);
760
782
              }
761
782
          }),
_ZZN3scn2v44impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
Line
Count
Source
753
1.68k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.68k
              cvref<T> obj = *get<T>(fn);
755
              if constexpr (std::is_void_v<R>) {
756
                  obj(static_cast<decltype(args)>(args)...);
757
              }
758
1.68k
              else {
759
1.68k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.68k
              }
761
1.68k
          }),
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1B_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1B_SB_SH_SI_
Unexecuted instantiation: _ZZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1B_SB_SH_SI_
762
314k
          m_storage(std::addressof(f))
763
314k
    {
764
314k
    }
_ZN3scn2v44impl12function_refIFbcES3_EC2INSt3__110__not_fn_tIS4_EES8_TnPNS6_9enable_ifIXaaaasr6detailE11is_not_selfIT_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSB_EEvE4typeELPv0EEEOSA_
Line
Count
Source
752
2.66k
        : m_fptr([](storage fn,
753
2.66k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
2.66k
              cvref<T> obj = *get<T>(fn);
755
2.66k
              if constexpr (std::is_void_v<R>) {
756
2.66k
                  obj(static_cast<decltype(args)>(args)...);
757
2.66k
              }
758
2.66k
              else {
759
2.66k
                  return obj(static_cast<decltype(args)>(args)...);
760
2.66k
              }
761
2.66k
          }),
762
2.66k
          m_storage(std::addressof(f))
763
2.66k
    {
764
2.66k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlcE_SV_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSY_EEvE4typeELPv0EEEOSM_
_ZN3scn2v44impl12function_refIFbDiES3_EC2INSt3__110__not_fn_tIS4_EES8_TnPNS6_9enable_ifIXaaaasr6detailE11is_not_selfIT_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSB_EEvE4typeELPv0EEEOSA_
Line
Count
Source
752
125k
        : m_fptr([](storage fn,
753
125k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
125k
              cvref<T> obj = *get<T>(fn);
755
125k
              if constexpr (std::is_void_v<R>) {
756
125k
                  obj(static_cast<decltype(args)>(args)...);
757
125k
              }
758
125k
              else {
759
125k
                  return obj(static_cast<decltype(args)>(args)...);
760
125k
              }
761
125k
          }),
762
125k
          m_storage(std::addressof(f))
763
125k
    {
764
125k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_SR_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlcE_ST_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSK_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlcE_SY_TnPNSQ_9enable_ifIXaaaasr6detailE11is_not_selfISS_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS10_EEvE4typeELPv0EEEOSS_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlcE_SQ_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSK_
_ZN3scn2v44impl12function_refIFvDiES3_EC2IZNS1_20calculate_text_widthIcEEmNSt3__117basic_string_viewIT_NS7_11char_traitsIS9_EEEEEUlDiE_SD_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfIS9_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSF_EEvE4typeELPv0EEEOS9_
Line
Count
Source
752
40.4k
        : m_fptr([](storage fn,
753
40.4k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
40.4k
              cvref<T> obj = *get<T>(fn);
755
40.4k
              if constexpr (std::is_void_v<R>) {
756
40.4k
                  obj(static_cast<decltype(args)>(args)...);
757
40.4k
              }
758
40.4k
              else {
759
40.4k
                  return obj(static_cast<decltype(args)>(args)...);
760
40.4k
              }
761
40.4k
          }),
762
40.4k
          m_storage(std::addressof(f))
763
40.4k
    {
764
40.4k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_SM_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSO_EEvE4typeELPv0EEEOSH_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlcE_SP_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISF_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSF_
_ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlcE_SV_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSP_
Line
Count
Source
752
1.00k
        : m_fptr([](storage fn,
753
1.00k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.00k
              cvref<T> obj = *get<T>(fn);
755
1.00k
              if constexpr (std::is_void_v<R>) {
756
1.00k
                  obj(static_cast<decltype(args)>(args)...);
757
1.00k
              }
758
1.00k
              else {
759
1.00k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.00k
              }
761
1.00k
          }),
762
1.00k
          m_storage(std::addressof(f))
763
1.00k
    {
764
1.00k
    }
_ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_TnPNSF_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_
Line
Count
Source
752
468
        : m_fptr([](storage fn,
753
468
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
468
              cvref<T> obj = *get<T>(fn);
755
468
              if constexpr (std::is_void_v<R>) {
756
468
                  obj(static_cast<decltype(args)>(args)...);
757
468
              }
758
468
              else {
759
468
                  return obj(static_cast<decltype(args)>(args)...);
760
468
              }
761
468
          }),
762
468
          m_storage(std::addressof(f))
763
468
    {
764
468
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_
Line
Count
Source
752
556
        : m_fptr([](storage fn,
753
556
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
556
              cvref<T> obj = *get<T>(fn);
755
556
              if constexpr (std::is_void_v<R>) {
756
556
                  obj(static_cast<decltype(args)>(args)...);
757
556
              }
758
556
              else {
759
556
                  return obj(static_cast<decltype(args)>(args)...);
760
556
              }
761
556
          }),
762
556
          m_storage(std::addressof(f))
763
556
    {
764
556
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlcE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlcE_S12_TnPNSR_9enable_ifIXaaaasr6detailE11is_not_selfIST_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS14_EEvE4typeELPv0EEEOST_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlcE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlcE_SU_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlcE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
_ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
Line
Count
Source
752
8
        : m_fptr([](storage fn,
753
8
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
8
              cvref<T> obj = *get<T>(fn);
755
8
              if constexpr (std::is_void_v<R>) {
756
8
                  obj(static_cast<decltype(args)>(args)...);
757
8
              }
758
8
              else {
759
8
                  return obj(static_cast<decltype(args)>(args)...);
760
8
              }
761
8
          }),
762
8
          m_storage(std::addressof(f))
763
8
    {
764
8
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlcE_SZ_TnPNSO_9enable_ifIXaaaasr6detailE11is_not_selfISQ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS11_EEvE4typeELPv0EEEOSQ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
_ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
Line
Count
Source
752
348
        : m_fptr([](storage fn,
753
348
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
348
              cvref<T> obj = *get<T>(fn);
755
348
              if constexpr (std::is_void_v<R>) {
756
348
                  obj(static_cast<decltype(args)>(args)...);
757
348
              }
758
348
              else {
759
348
                  return obj(static_cast<decltype(args)>(args)...);
760
348
              }
761
348
          }),
762
348
          m_storage(std::addressof(f))
763
348
    {
764
348
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlcE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlcE_SR_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSI_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
_ZN3scn2v44impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
22
        : m_fptr([](storage fn,
753
22
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
22
              cvref<T> obj = *get<T>(fn);
755
22
              if constexpr (std::is_void_v<R>) {
756
22
                  obj(static_cast<decltype(args)>(args)...);
757
22
              }
758
22
              else {
759
22
                  return obj(static_cast<decltype(args)>(args)...);
760
22
              }
761
22
          }),
762
22
          m_storage(std::addressof(f))
763
22
    {
764
22
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Line
Count
Source
752
12
        : m_fptr([](storage fn,
753
12
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
12
              cvref<T> obj = *get<T>(fn);
755
12
              if constexpr (std::is_void_v<R>) {
756
12
                  obj(static_cast<decltype(args)>(args)...);
757
12
              }
758
12
              else {
759
12
                  return obj(static_cast<decltype(args)>(args)...);
760
12
              }
761
12
          }),
762
12
          m_storage(std::addressof(f))
763
12
    {
764
12
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Line
Count
Source
752
344
        : m_fptr([](storage fn,
753
344
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
344
              cvref<T> obj = *get<T>(fn);
755
344
              if constexpr (std::is_void_v<R>) {
756
344
                  obj(static_cast<decltype(args)>(args)...);
757
344
              }
758
344
              else {
759
344
                  return obj(static_cast<decltype(args)>(args)...);
760
344
              }
761
344
          }),
762
344
          m_storage(std::addressof(f))
763
344
    {
764
344
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Line
Count
Source
752
6
        : m_fptr([](storage fn,
753
6
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
6
              cvref<T> obj = *get<T>(fn);
755
6
              if constexpr (std::is_void_v<R>) {
756
6
                  obj(static_cast<decltype(args)>(args)...);
757
6
              }
758
6
              else {
759
6
                  return obj(static_cast<decltype(args)>(args)...);
760
6
              }
761
6
          }),
762
6
          m_storage(std::addressof(f))
763
6
    {
764
6
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Line
Count
Source
752
294
        : m_fptr([](storage fn,
753
294
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
294
              cvref<T> obj = *get<T>(fn);
755
294
              if constexpr (std::is_void_v<R>) {
756
294
                  obj(static_cast<decltype(args)>(args)...);
757
294
              }
758
294
              else {
759
294
                  return obj(static_cast<decltype(args)>(args)...);
760
294
              }
761
294
          }),
762
294
          m_storage(std::addressof(f))
763
294
    {
764
294
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlcE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlcE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_
Line
Count
Source
752
954
        : m_fptr([](storage fn,
753
954
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
954
              cvref<T> obj = *get<T>(fn);
755
954
              if constexpr (std::is_void_v<R>) {
756
954
                  obj(static_cast<decltype(args)>(args)...);
757
954
              }
758
954
              else {
759
954
                  return obj(static_cast<decltype(args)>(args)...);
760
954
              }
761
954
          }),
762
954
          m_storage(std::addressof(f))
763
954
    {
764
954
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_
Line
Count
Source
752
450
        : m_fptr([](storage fn,
753
450
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
450
              cvref<T> obj = *get<T>(fn);
755
450
              if constexpr (std::is_void_v<R>) {
756
450
                  obj(static_cast<decltype(args)>(args)...);
757
450
              }
758
450
              else {
759
450
                  return obj(static_cast<decltype(args)>(args)...);
760
450
              }
761
450
          }),
762
450
          m_storage(std::addressof(f))
763
450
    {
764
450
    }
_ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlcE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_
Line
Count
Source
752
378
        : m_fptr([](storage fn,
753
378
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
378
              cvref<T> obj = *get<T>(fn);
755
378
              if constexpr (std::is_void_v<R>) {
756
378
                  obj(static_cast<decltype(args)>(args)...);
757
378
              }
758
378
              else {
759
378
                  return obj(static_cast<decltype(args)>(args)...);
760
378
              }
761
378
          }),
762
378
          m_storage(std::addressof(f))
763
378
    {
764
378
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
2.32k
        : m_fptr([](storage fn,
753
2.32k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
2.32k
              cvref<T> obj = *get<T>(fn);
755
2.32k
              if constexpr (std::is_void_v<R>) {
756
2.32k
                  obj(static_cast<decltype(args)>(args)...);
757
2.32k
              }
758
2.32k
              else {
759
2.32k
                  return obj(static_cast<decltype(args)>(args)...);
760
2.32k
              }
761
2.32k
          }),
762
2.32k
          m_storage(std::addressof(f))
763
2.32k
    {
764
2.32k
    }
_ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlcE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
210
        : m_fptr([](storage fn,
753
210
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
210
              cvref<T> obj = *get<T>(fn);
755
210
              if constexpr (std::is_void_v<R>) {
756
210
                  obj(static_cast<decltype(args)>(args)...);
757
210
              }
758
210
              else {
759
210
                  return obj(static_cast<decltype(args)>(args)...);
760
210
              }
761
210
          }),
762
210
          m_storage(std::addressof(f))
763
210
    {
764
210
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_
_ZN3scn2v44impl12function_refIFbwES3_EC2INSt3__110__not_fn_tIS4_EES8_TnPNS6_9enable_ifIXaaaasr6detailE11is_not_selfIT_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSB_EEvE4typeELPv0EEEOSA_
Line
Count
Source
752
2.81k
        : m_fptr([](storage fn,
753
2.81k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
2.81k
              cvref<T> obj = *get<T>(fn);
755
2.81k
              if constexpr (std::is_void_v<R>) {
756
2.81k
                  obj(static_cast<decltype(args)>(args)...);
757
2.81k
              }
758
2.81k
              else {
759
2.81k
                  return obj(static_cast<decltype(args)>(args)...);
760
2.81k
              }
761
2.81k
          }),
762
2.81k
          m_storage(std::addressof(f))
763
2.81k
    {
764
2.81k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlwE_SV_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSY_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_SR_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlwE_ST_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSK_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlwE_SY_TnPNSQ_9enable_ifIXaaaasr6detailE11is_not_selfISS_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS10_EEvE4typeELPv0EEEOSS_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlwE_SQ_TnPNSI_9enable_ifIXaaaasr6detailE11is_not_selfISK_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSK_
_ZN3scn2v44impl12function_refIFvDiES3_EC2IZNS1_20calculate_text_widthIwEEmNSt3__117basic_string_viewIT_NS7_11char_traitsIS9_EEEEEUlDiE_SD_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfIS9_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSF_EEvE4typeELPv0EEEOS9_
Line
Count
Source
752
3.44k
        : m_fptr([](storage fn,
753
3.44k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
3.44k
              cvref<T> obj = *get<T>(fn);
755
3.44k
              if constexpr (std::is_void_v<R>) {
756
3.44k
                  obj(static_cast<decltype(args)>(args)...);
757
3.44k
              }
758
3.44k
              else {
759
3.44k
                  return obj(static_cast<decltype(args)>(args)...);
760
3.44k
              }
761
3.44k
          }),
762
3.44k
          m_storage(std::addressof(f))
763
3.44k
    {
764
3.44k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_SM_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSO_EEvE4typeELPv0EEEOSH_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNS8_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlwE_SP_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISF_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSF_
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISE_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSL_EEvE4typeELPv0EEEOSE_
Line
Count
Source
752
55.9k
        : m_fptr([](storage fn,
753
55.9k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
55.9k
              cvref<T> obj = *get<T>(fn);
755
55.9k
              if constexpr (std::is_void_v<R>) {
756
55.9k
                  obj(static_cast<decltype(args)>(args)...);
757
55.9k
              }
758
55.9k
              else {
759
55.9k
                  return obj(static_cast<decltype(args)>(args)...);
760
55.9k
              }
761
55.9k
          }),
762
55.9k
          m_storage(std::addressof(f))
763
55.9k
    {
764
55.9k
    }
_ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlwE_SV_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSP_
Line
Count
Source
752
526
        : m_fptr([](storage fn,
753
526
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
526
              cvref<T> obj = *get<T>(fn);
755
526
              if constexpr (std::is_void_v<R>) {
756
526
                  obj(static_cast<decltype(args)>(args)...);
757
526
              }
758
526
              else {
759
526
                  return obj(static_cast<decltype(args)>(args)...);
760
526
              }
761
526
          }),
762
526
          m_storage(std::addressof(f))
763
526
    {
764
526
    }
_ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_TnPNSF_9enable_ifIXaaaasr6detailE11is_not_selfISH_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSH_
Line
Count
Source
752
1.35k
        : m_fptr([](storage fn,
753
1.35k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.35k
              cvref<T> obj = *get<T>(fn);
755
1.35k
              if constexpr (std::is_void_v<R>) {
756
1.35k
                  obj(static_cast<decltype(args)>(args)...);
757
1.35k
              }
758
1.35k
              else {
759
1.35k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.35k
              }
761
1.35k
          }),
762
1.35k
          m_storage(std::addressof(f))
763
1.35k
    {
764
1.35k
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_
Line
Count
Source
752
438
        : m_fptr([](storage fn,
753
438
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
438
              cvref<T> obj = *get<T>(fn);
755
438
              if constexpr (std::is_void_v<R>) {
756
438
                  obj(static_cast<decltype(args)>(args)...);
757
438
              }
758
438
              else {
759
438
                  return obj(static_cast<decltype(args)>(args)...);
760
438
              }
761
438
          }),
762
438
          m_storage(std::addressof(f))
763
438
    {
764
438
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNSE_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_
Line
Count
Source
752
62.8k
        : m_fptr([](storage fn,
753
62.8k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
62.8k
              cvref<T> obj = *get<T>(fn);
755
62.8k
              if constexpr (std::is_void_v<R>) {
756
62.8k
                  obj(static_cast<decltype(args)>(args)...);
757
62.8k
              }
758
62.8k
              else {
759
62.8k
                  return obj(static_cast<decltype(args)>(args)...);
760
62.8k
              }
761
62.8k
          }),
762
62.8k
          m_storage(std::addressof(f))
763
62.8k
    {
764
62.8k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlwE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlwE_S12_TnPNSR_9enable_ifIXaaaasr6detailE11is_not_selfIST_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS14_EEvE4typeELPv0EEEOST_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS12_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlwE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlwE_SU_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlwE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
_ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
Line
Count
Source
752
26
        : m_fptr([](storage fn,
753
26
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
26
              cvref<T> obj = *get<T>(fn);
755
26
              if constexpr (std::is_void_v<R>) {
756
26
                  obj(static_cast<decltype(args)>(args)...);
757
26
              }
758
26
              else {
759
26
                  return obj(static_cast<decltype(args)>(args)...);
760
26
              }
761
26
          }),
762
26
          m_storage(std::addressof(f))
763
26
    {
764
26
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlwE_SZ_TnPNSO_9enable_ifIXaaaasr6detailE11is_not_selfISQ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRS11_EEvE4typeELPv0EEEOSQ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
_ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSR_
Line
Count
Source
752
184
        : m_fptr([](storage fn,
753
184
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
184
              cvref<T> obj = *get<T>(fn);
755
184
              if constexpr (std::is_void_v<R>) {
756
184
                  obj(static_cast<decltype(args)>(args)...);
757
184
              }
758
184
              else {
759
184
                  return obj(static_cast<decltype(args)>(args)...);
760
184
              }
761
184
          }),
762
184
          m_storage(std::addressof(f))
763
184
    {
764
184
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlwE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlwE_SR_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRST_EEvE4typeELPv0EEEOSI_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
_ZN3scn2v44impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSR_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
24
        : m_fptr([](storage fn,
753
24
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
24
              cvref<T> obj = *get<T>(fn);
755
24
              if constexpr (std::is_void_v<R>) {
756
24
                  obj(static_cast<decltype(args)>(args)...);
757
24
              }
758
24
              else {
759
24
                  return obj(static_cast<decltype(args)>(args)...);
760
24
              }
761
24
          }),
762
24
          m_storage(std::addressof(f))
763
24
    {
764
24
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Line
Count
Source
752
16
        : m_fptr([](storage fn,
753
16
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
16
              cvref<T> obj = *get<T>(fn);
755
16
              if constexpr (std::is_void_v<R>) {
756
16
                  obj(static_cast<decltype(args)>(args)...);
757
16
              }
758
16
              else {
759
16
                  return obj(static_cast<decltype(args)>(args)...);
760
16
              }
761
16
          }),
762
16
          m_storage(std::addressof(f))
763
16
    {
764
16
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Line
Count
Source
752
172
        : m_fptr([](storage fn,
753
172
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
172
              cvref<T> obj = *get<T>(fn);
755
172
              if constexpr (std::is_void_v<R>) {
756
172
                  obj(static_cast<decltype(args)>(args)...);
757
172
              }
758
172
              else {
759
172
                  return obj(static_cast<decltype(args)>(args)...);
760
172
              }
761
172
          }),
762
172
          m_storage(std::addressof(f))
763
172
    {
764
172
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Line
Count
Source
752
16
        : m_fptr([](storage fn,
753
16
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
16
              cvref<T> obj = *get<T>(fn);
755
16
              if constexpr (std::is_void_v<R>) {
756
16
                  obj(static_cast<decltype(args)>(args)...);
757
16
              }
758
16
              else {
759
16
                  return obj(static_cast<decltype(args)>(args)...);
760
16
              }
761
16
          }),
762
16
          m_storage(std::addressof(f))
763
16
    {
764
16
    }
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Line
Count
Source
752
430
        : m_fptr([](storage fn,
753
430
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
430
              cvref<T> obj = *get<T>(fn);
755
430
              if constexpr (std::is_void_v<R>) {
756
430
                  obj(static_cast<decltype(args)>(args)...);
757
430
              }
758
430
              else {
759
430
                  return obj(static_cast<decltype(args)>(args)...);
760
430
              }
761
430
          }),
762
430
          m_storage(std::addressof(f))
763
430
    {
764
430
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_TnPNSU_9enable_ifIXaaaasr6detailE11is_not_selfISW_SP_Entsr3stdE19is_member_pointer_vIS15_E18is_invocable_usingIS16_EEvE4typeELPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vIS10_E18is_invocable_usingIS11_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_TnPNSS_9enable_ifIXaaaasr6detailE11is_not_selfISU_SN_Entsr3stdE19is_member_pointer_vIS13_E18is_invocable_usingIS14_EEvE4typeELPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISY_E18is_invocable_usingISZ_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSS_EEvE4typeELPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlwE_SW_TnPNSM_9enable_ifIXaaaasr6detailE11is_not_selfISO_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSZ_EEvE4typeELPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlwE_SU_TnPNSK_9enable_ifIXaaaasr6detailE11is_not_selfISM_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSX_EEvE4typeELPv0EEEOSM_
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_TnPNSG_9enable_ifIXaaaasr6detailE11is_not_selfISI_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSP_EEvE4typeELPv0EEEOSI_
Line
Count
Source
752
450
        : m_fptr([](storage fn,
753
450
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
450
              cvref<T> obj = *get<T>(fn);
755
450
              if constexpr (std::is_void_v<R>) {
756
450
                  obj(static_cast<decltype(args)>(args)...);
757
450
              }
758
450
              else {
759
450
                  return obj(static_cast<decltype(args)>(args)...);
760
450
              }
761
450
          }),
762
450
          m_storage(std::addressof(f))
763
450
    {
764
450
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_
Line
Count
Source
752
354
        : m_fptr([](storage fn,
753
354
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
354
              cvref<T> obj = *get<T>(fn);
755
354
              if constexpr (std::is_void_v<R>) {
756
354
                  obj(static_cast<decltype(args)>(args)...);
757
354
              }
758
354
              else {
759
354
                  return obj(static_cast<decltype(args)>(args)...);
760
354
              }
761
354
          }),
762
354
          m_storage(std::addressof(f))
763
354
    {
764
354
    }
_ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlwE_ST_TnPNSJ_9enable_ifIXaaaasr6detailE11is_not_selfISL_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSL_
Line
Count
Source
752
192
        : m_fptr([](storage fn,
753
192
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
192
              cvref<T> obj = *get<T>(fn);
755
192
              if constexpr (std::is_void_v<R>) {
756
192
                  obj(static_cast<decltype(args)>(args)...);
757
192
              }
758
192
              else {
759
192
                  return obj(static_cast<decltype(args)>(args)...);
760
192
              }
761
192
          }),
762
192
          m_storage(std::addressof(f))
763
192
    {
764
192
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_TnPNSE_9enable_ifIXaaaasr6detailE11is_not_selfISG_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSN_EEvE4typeELPv0EEEOSG_
Line
Count
Source
752
2.61k
        : m_fptr([](storage fn,
753
2.61k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
2.61k
              cvref<T> obj = *get<T>(fn);
755
2.61k
              if constexpr (std::is_void_v<R>) {
756
2.61k
                  obj(static_cast<decltype(args)>(args)...);
757
2.61k
              }
758
2.61k
              else {
759
2.61k
                  return obj(static_cast<decltype(args)>(args)...);
760
2.61k
              }
761
2.61k
          }),
762
2.61k
          m_storage(std::addressof(f))
763
2.61k
    {
764
2.61k
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
402
        : m_fptr([](storage fn,
753
402
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
402
              cvref<T> obj = *get<T>(fn);
755
402
              if constexpr (std::is_void_v<R>) {
756
402
                  obj(static_cast<decltype(args)>(args)...);
757
402
              }
758
402
              else {
759
402
                  return obj(static_cast<decltype(args)>(args)...);
760
402
              }
761
402
          }),
762
402
          m_storage(std::addressof(f))
763
402
    {
764
402
    }
_ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlwE_SR_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSU_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
192
        : m_fptr([](storage fn,
753
192
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
192
              cvref<T> obj = *get<T>(fn);
755
192
              if constexpr (std::is_void_v<R>) {
756
192
                  obj(static_cast<decltype(args)>(args)...);
757
192
              }
758
192
              else {
759
192
                  return obj(static_cast<decltype(args)>(args)...);
760
192
              }
761
192
          }),
762
192
          m_storage(std::addressof(f))
763
192
    {
764
192
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_TnPNS7_9enable_ifIXaaaasr6detailE11is_not_selfISE_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSL_EEvE4typeELPv0EEEOSE_
Line
Count
Source
752
72
        : m_fptr([](storage fn,
753
72
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
72
              cvref<T> obj = *get<T>(fn);
755
72
              if constexpr (std::is_void_v<R>) {
756
72
                  obj(static_cast<decltype(args)>(args)...);
757
72
              }
758
72
              else {
759
72
                  return obj(static_cast<decltype(args)>(args)...);
760
72
              }
761
72
          }),
762
72
          m_storage(std::addressof(f))
763
72
    {
764
72
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_
Line
Count
Source
752
644
        : m_fptr([](storage fn,
753
644
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
644
              cvref<T> obj = *get<T>(fn);
755
644
              if constexpr (std::is_void_v<R>) {
756
644
                  obj(static_cast<decltype(args)>(args)...);
757
644
              }
758
644
              else {
759
644
                  return obj(static_cast<decltype(args)>(args)...);
760
644
              }
761
644
          }),
762
644
          m_storage(std::addressof(f))
763
644
    {
764
644
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_
_ZN3scn2v44impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlcE_ST_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
492
        : m_fptr([](storage fn,
753
492
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
492
              cvref<T> obj = *get<T>(fn);
755
492
              if constexpr (std::is_void_v<R>) {
756
492
                  obj(static_cast<decltype(args)>(args)...);
757
492
              }
758
492
              else {
759
492
                  return obj(static_cast<decltype(args)>(args)...);
760
492
              }
761
492
          }),
762
492
          m_storage(std::addressof(f))
763
492
    {
764
492
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
2.19k
        : m_fptr([](storage fn,
753
2.19k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
2.19k
              cvref<T> obj = *get<T>(fn);
755
2.19k
              if constexpr (std::is_void_v<R>) {
756
2.19k
                  obj(static_cast<decltype(args)>(args)...);
757
2.19k
              }
758
2.19k
              else {
759
2.19k
                  return obj(static_cast<decltype(args)>(args)...);
760
2.19k
              }
761
2.19k
          }),
762
2.19k
          m_storage(std::addressof(f))
763
2.19k
    {
764
2.19k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_
_ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_
Line
Count
Source
752
490
        : m_fptr([](storage fn,
753
490
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
490
              cvref<T> obj = *get<T>(fn);
755
490
              if constexpr (std::is_void_v<R>) {
756
490
                  obj(static_cast<decltype(args)>(args)...);
757
490
              }
758
490
              else {
759
490
                  return obj(static_cast<decltype(args)>(args)...);
760
490
              }
761
490
          }),
762
490
          m_storage(std::addressof(f))
763
490
    {
764
490
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_TnPNSN_9enable_ifIXaaaasr6detailE11is_not_selfISP_SI_Entsr3stdE19is_member_pointer_vISV_E18is_invocable_usingISW_EEvE4typeELPv0EEEOSP_
_ZN3scn2v44impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlwE_ST_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSW_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
510
        : m_fptr([](storage fn,
753
510
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
510
              cvref<T> obj = *get<T>(fn);
755
510
              if constexpr (std::is_void_v<R>) {
756
510
                  obj(static_cast<decltype(args)>(args)...);
757
510
              }
758
510
              else {
759
510
                  return obj(static_cast<decltype(args)>(args)...);
760
510
              }
761
510
          }),
762
510
          m_storage(std::addressof(f))
763
510
    {
764
510
    }
_ZN3scn2v44impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_TnPNSH_9enable_ifIXaaaasr6detailE11is_not_selfISJ_S4_Entsr3stdE19is_member_pointer_vIT0_E18is_invocable_usingIRSQ_EEvE4typeELPv0EEEOSJ_
Line
Count
Source
752
1.20k
        : m_fptr([](storage fn,
753
1.20k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
754
1.20k
              cvref<T> obj = *get<T>(fn);
755
1.20k
              if constexpr (std::is_void_v<R>) {
756
1.20k
                  obj(static_cast<decltype(args)>(args)...);
757
1.20k
              }
758
1.20k
              else {
759
1.20k
                  return obj(static_cast<decltype(args)>(args)...);
760
1.20k
              }
761
1.20k
          }),
762
1.20k
          m_storage(std::addressof(f))
763
1.20k
    {
764
1.20k
    }
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v44impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_TnPNSP_9enable_ifIXaaaasr6detailE11is_not_selfISR_SK_Entsr3stdE19is_member_pointer_vISX_E18is_invocable_usingISY_EEvE4typeELPv0EEEOSR_
765
766
    template <typename T,
767
              std::enable_if_t<detail::is_not_self<T, function_ref> &&
768
                               !std::is_pointer_v<T>>* = nullptr>
769
    function_ref& operator=(T) = delete;
770
771
    constexpr R operator()(Args... args) const noexcept(noex)
772
1.06M
    {
773
1.06M
        return m_fptr(m_storage, SCN_FWD(args)...);
774
1.06M
    }
scn::v4::impl::function_ref<bool (char), bool (char)>::operator()(char) const
Line
Count
Source
772
20.3k
    {
773
20.3k
        return m_fptr(m_storage, SCN_FWD(args)...);
774
20.3k
    }
scn::v4::impl::function_ref<bool (char32_t), bool (char32_t)>::operator()(char32_t) const
Line
Count
Source
772
969k
    {
773
969k
        return m_fptr(m_storage, SCN_FWD(args)...);
774
969k
    }
scn::v4::impl::function_ref<void (char32_t), void (char32_t)>::operator()(char32_t) const
Line
Count
Source
772
57.0k
    {
773
57.0k
        return m_fptr(m_storage, SCN_FWD(args)...);
774
57.0k
    }
Unexecuted instantiation: scn::v4::impl::function_ref<scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > (scn::v4::impl::float_reader<char>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::detail::locale_ref), scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > (scn::v4::impl::float_reader<char>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<char>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::detail::locale_ref) const
Unexecuted instantiation: scn::v4::impl::function_ref<scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> (scn::v4::impl::float_reader<char>&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::locale_ref), scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> (scn::v4::impl::float_reader<char>&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<char>&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::locale_ref) const
scn::v4::impl::function_ref<scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > (scn::v4::impl::float_reader<char>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, scn::v4::detail::locale_ref), scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > (scn::v4::impl::float_reader<char>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<char>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, scn::v4::detail::locale_ref) const
Line
Count
Source
772
356
    {
773
356
        return m_fptr(m_storage, SCN_FWD(args)...);
774
356
    }
scn::v4::impl::function_ref<scn::v4::scan_expected<char const*> (scn::v4::impl::float_reader<char>&, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::detail::locale_ref), scn::v4::scan_expected<char const*> (scn::v4::impl::float_reader<char>&, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<char>&, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::detail::locale_ref) const
Line
Count
Source
772
944
    {
773
944
        return m_fptr(m_storage, SCN_FWD(args)...);
774
944
    }
scn::v4::impl::function_ref<bool (wchar_t), bool (wchar_t)>::operator()(wchar_t) const
Line
Count
Source
772
14.1k
    {
773
14.1k
        return m_fptr(m_storage, SCN_FWD(args)...);
774
14.1k
    }
Unexecuted instantiation: scn::v4::impl::function_ref<scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > (scn::v4::impl::float_reader<wchar_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::detail::locale_ref), scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > (scn::v4::impl::float_reader<wchar_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<wchar_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::detail::locale_ref) const
Unexecuted instantiation: scn::v4::impl::function_ref<scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> (scn::v4::impl::float_reader<wchar_t>&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::locale_ref), scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> (scn::v4::impl::float_reader<wchar_t>&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<wchar_t>&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::locale_ref) const
scn::v4::impl::function_ref<scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > (scn::v4::impl::float_reader<wchar_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, scn::v4::detail::locale_ref), scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > (scn::v4::impl::float_reader<wchar_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<wchar_t>&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, scn::v4::detail::locale_ref) const
Line
Count
Source
772
188
    {
773
188
        return m_fptr(m_storage, SCN_FWD(args)...);
774
188
    }
scn::v4::impl::function_ref<scn::v4::scan_expected<wchar_t const*> (scn::v4::impl::float_reader<wchar_t>&, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::detail::locale_ref), scn::v4::scan_expected<wchar_t const*> (scn::v4::impl::float_reader<wchar_t>&, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::detail::locale_ref)>::operator()(scn::v4::impl::float_reader<wchar_t>&, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::detail::locale_ref) const
Line
Count
Source
772
936
    {
773
936
        return m_fptr(m_storage, SCN_FWD(args)...);
774
936
    }
775
776
private:
777
    fwd_t* m_fptr{nullptr};
778
    storage m_storage;
779
};
780
781
template <typename F, std::enable_if_t<std::is_function_v<F>>* = nullptr>
782
function_ref(F*) -> function_ref<F>;
783
}  // namespace impl
784
785
/////////////////////////////////////////////////////////////////
786
// Internal error types
787
/////////////////////////////////////////////////////////////////
788
789
namespace impl {
790
enum class eof_error { good, eof };
791
792
inline constexpr bool operator!(eof_error e)
793
49.3k
{
794
49.3k
    return e != eof_error::good;
795
49.3k
}
796
797
template <typename T>
798
struct eof_expected : public expected<T, eof_error> {
799
    using base = expected<T, eof_error>;
800
    using base::base;
801
802
    constexpr eof_expected(const base& other) : base(other) {}
803
    constexpr eof_expected(base&& other) : base(SCN_MOVE(other)) {}
804
};
805
806
inline constexpr auto make_eof_scan_error(eof_error err)
807
354
{
808
354
    SCN_EXPECT(err == eof_error::eof);
809
354
    return scan_error{scan_error::end_of_input, "EOF"};
810
354
}
811
812
struct SCN_TRIVIAL_ABI parse_error {
813
    enum code { good, eof, error };
814
    using code_t = code;
815
816
    constexpr parse_error() = default;
817
54.9k
    constexpr parse_error(code c) : m_code(c)
818
54.9k
    {
819
54.9k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_code);
820
54.9k
    }
821
822
    constexpr explicit operator bool() const
823
0
    {
824
0
        return m_code == good;
825
0
    }
826
    constexpr explicit operator code_t() const
827
0
    {
828
0
        return m_code;
829
0
    }
830
831
    friend constexpr bool operator==(parse_error a, parse_error b)
832
23.0k
    {
833
23.0k
        return a.m_code == b.m_code;
834
23.0k
    }
835
    friend constexpr bool operator!=(parse_error a, parse_error b)
836
4.47k
    {
837
4.47k
        return !(a == b);
838
4.47k
    }
839
840
private:
841
    code m_code{good};
842
};
843
844
template <typename T>
845
struct parse_expected : public expected<T, parse_error> {
846
    using base = expected<T, parse_error>;
847
    using base::base;
848
849
    constexpr parse_expected(const base& other) : base(other) {}
850
    constexpr parse_expected(base&& other) : base(SCN_MOVE(other)) {}
851
};
852
853
inline constexpr parse_error make_eof_parse_error(eof_error err)
854
1.11k
{
855
1.11k
    SCN_EXPECT(err == eof_error::eof);
856
1.11k
    return parse_error::eof;
857
1.11k
}
858
859
inline constexpr scan_expected<void> make_scan_error_from_parse_error(
860
    parse_error err,
861
    enum scan_error::code code,
862
    const char* msg)
863
4.47k
{
864
4.47k
    if (err == parse_error::good) {
865
0
        return {};
866
0
    }
867
868
4.47k
    if (err == parse_error::eof) {
869
146
        return detail::unexpected_scan_error(scan_error::end_of_input, "EOF");
870
146
    }
871
872
4.32k
    return detail::unexpected_scan_error(code, msg);
873
4.47k
}
874
875
inline constexpr auto map_parse_error_to_scan_error(enum scan_error::code code,
876
                                                    const char* msg)
877
4.51k
{
878
4.51k
    return [code, msg](parse_error err) {
879
4.47k
        assert(err != parse_error::good);
880
4.47k
        return make_scan_error_from_parse_error(err, code, msg).error();
881
4.47k
    };
882
4.51k
}
883
}  // namespace impl
884
885
namespace detail {
886
template <typename T>
887
struct is_expected_impl<scn::impl::parse_expected<T>> : std::true_type {};
888
}  // namespace detail
889
890
/////////////////////////////////////////////////////////////////
891
// Range reading support
892
/////////////////////////////////////////////////////////////////
893
894
namespace impl {
895
#if SCN_MSVC_DEBUG_ITERATORS
896
#define SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND 1
897
#else
898
#define SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND 0
899
#endif
900
901
template <typename T>
902
constexpr bool range_supports_nocopy() noexcept
903
{
904
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
905
    return ranges::contiguous_range<T> ||
906
           (ranges::random_access_range<T> &&
907
            detail::can_make_address_from_iterator<ranges::iterator_t<T>>);
908
#else
909
    return ranges::contiguous_range<T>;
910
#endif
911
}
912
913
template <typename R>
914
constexpr auto range_nocopy_data(const R& r) noexcept
915
{
916
    static_assert(range_supports_nocopy<R>());
917
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
918
    return detail::to_address(ranges::begin(r));
919
#else
920
    return ranges::data(r);
921
#endif
922
}
923
924
template <typename R>
925
constexpr auto range_nocopy_size(const R& r) noexcept
926
{
927
    static_assert(range_supports_nocopy<R>());
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    return static_cast<size_t>(ranges::distance(detail::to_address(r.begin()),
930
                                                detail::to_address(r.end())));
931
#else
932
    return r.size();
933
#endif
934
}
935
936
template <typename I, typename S>
937
SCN_NODISCARD constexpr bool is_range_eof(I begin, S end)
938
208M
{
939
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
940
    if constexpr (ranges::contiguous_iterator<I> ||
941
                  (ranges::random_access_iterator<I> &&
942
                   detail::can_make_address_from_iterator<I>)) {
943
        return detail::to_address(begin) == detail::to_address(end);
944
    }
945
    else
946
#endif
947
208M
    {
948
208M
        return begin == end;
949
208M
    }
950
208M
}
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>)
bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>)
Line
Count
Source
938
27.6k
{
939
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
940
    if constexpr (ranges::contiguous_iterator<I> ||
941
                  (ranges::random_access_iterator<I> &&
942
                   detail::can_make_address_from_iterator<I>)) {
943
        return detail::to_address(begin) == detail::to_address(end);
944
    }
945
    else
946
#endif
947
27.6k
    {
948
27.6k
        return begin == end;
949
27.6k
    }
950
27.6k
}
bool scn::v4::impl::is_range_eof<char const*, char const*>(char const*, char const*)
Line
Count
Source
938
346k
{
939
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
940
    if constexpr (ranges::contiguous_iterator<I> ||
941
                  (ranges::random_access_iterator<I> &&
942
                   detail::can_make_address_from_iterator<I>)) {
943
        return detail::to_address(begin) == detail::to_address(end);
944
    }
945
    else
946
#endif
947
346k
    {
948
346k
        return begin == end;
949
346k
    }
950
346k
}
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>)
bool scn::v4::impl::is_range_eof<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*)
Line
Count
Source
938
208M
{
939
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
940
    if constexpr (ranges::contiguous_iterator<I> ||
941
                  (ranges::random_access_iterator<I> &&
942
                   detail::can_make_address_from_iterator<I>)) {
943
        return detail::to_address(begin) == detail::to_address(end);
944
    }
945
    else
946
#endif
947
208M
    {
948
208M
        return begin == end;
949
208M
    }
950
208M
}
bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>)
Line
Count
Source
938
12.8k
{
939
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
940
    if constexpr (ranges::contiguous_iterator<I> ||
941
                  (ranges::random_access_iterator<I> &&
942
                   detail::can_make_address_from_iterator<I>)) {
943
        return detail::to_address(begin) == detail::to_address(end);
944
    }
945
    else
946
#endif
947
12.8k
    {
948
12.8k
        return begin == end;
949
12.8k
    }
950
12.8k
}
bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>)
Line
Count
Source
938
5.59k
{
939
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
940
    if constexpr (ranges::contiguous_iterator<I> ||
941
                  (ranges::random_access_iterator<I> &&
942
                   detail::can_make_address_from_iterator<I>)) {
943
        return detail::to_address(begin) == detail::to_address(end);
944
    }
945
    else
946
#endif
947
5.59k
    {
948
5.59k
        return begin == end;
949
5.59k
    }
950
5.59k
}
bool scn::v4::impl::is_range_eof<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>)
Line
Count
Source
938
2.88k
{
939
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
940
    if constexpr (ranges::contiguous_iterator<I> ||
941
                  (ranges::random_access_iterator<I> &&
942
                   detail::can_make_address_from_iterator<I>)) {
943
        return detail::to_address(begin) == detail::to_address(end);
944
    }
945
    else
946
#endif
947
2.88k
    {
948
2.88k
        return begin == end;
949
2.88k
    }
950
2.88k
}
951
952
template <typename Range>
953
SCN_NODISCARD constexpr bool is_range_eof(Range r)
954
562k
{
955
562k
    return is_range_eof(r.begin(), r.end());
956
562k
}
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >)
bool scn::v4::impl::is_range_eof<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
954
2.41k
{
955
2.41k
    return is_range_eof(r.begin(), r.end());
956
2.41k
}
bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >)
Line
Count
Source
954
25.2k
{
955
25.2k
    return is_range_eof(r.begin(), r.end());
956
25.2k
}
bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
954
287k
{
955
287k
    return is_range_eof(r.begin(), r.end());
956
287k
}
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >)
bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
954
225k
{
955
225k
    return is_range_eof(r.begin(), r.end());
956
225k
}
bool scn::v4::impl::is_range_eof<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
954
1.31k
{
955
1.31k
    return is_range_eof(r.begin(), r.end());
956
1.31k
}
bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >)
Line
Count
Source
954
11.5k
{
955
11.5k
    return is_range_eof(r.begin(), r.end());
956
11.5k
}
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: bool scn::v4::impl::is_range_eof<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >)
Line
Count
Source
954
5.59k
{
955
5.59k
    return is_range_eof(r.begin(), r.end());
956
5.59k
}
bool scn::v4::impl::is_range_eof<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >)
Line
Count
Source
954
2.88k
{
955
2.88k
    return is_range_eof(r.begin(), r.end());
956
2.88k
}
957
958
template <typename Range>
959
SCN_NODISCARD constexpr eof_error eof_check(Range range)
960
49.3k
{
961
49.3k
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
368
        return eof_error::eof;
963
368
    }
964
49.0k
    return eof_error::good;
965
49.3k
}
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >)
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
960
2.41k
{
961
2.41k
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
0
        return eof_error::eof;
963
0
    }
964
2.41k
    return eof_error::good;
965
2.41k
}
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >)
Line
Count
Source
960
40
{
961
40
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
0
        return eof_error::eof;
963
0
    }
964
40
    return eof_error::good;
965
40
}
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
960
22.0k
{
961
22.0k
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
0
        return eof_error::eof;
963
0
    }
964
22.0k
    return eof_error::good;
965
22.0k
}
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >)
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
960
20.0k
{
961
20.0k
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
0
        return eof_error::eof;
963
0
    }
964
20.0k
    return eof_error::good;
965
20.0k
}
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
960
1.31k
{
961
1.31k
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
0
        return eof_error::eof;
963
0
    }
964
1.31k
    return eof_error::good;
965
1.31k
}
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >)
Line
Count
Source
960
110
{
961
110
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
14
        return eof_error::eof;
963
14
    }
964
96
    return eof_error::good;
965
110
}
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v4::impl::eof_error scn::v4::impl::eof_check<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >)
Line
Count
Source
960
2.19k
{
961
2.19k
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
238
        return eof_error::eof;
963
238
    }
964
1.95k
    return eof_error::good;
965
2.19k
}
scn::v4::impl::eof_error scn::v4::impl::eof_check<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >)
Line
Count
Source
960
1.20k
{
961
1.20k
    if (SCN_UNLIKELY(is_range_eof(range))) {
962
116
        return eof_error::eof;
963
116
    }
964
1.08k
    return eof_error::good;
965
1.20k
}
966
967
template <typename Range>
968
bool is_entire_source_contiguous(Range r)
969
558
{
970
558
    SCN_UNUSED(r);
971
    if constexpr (ranges::contiguous_range<Range> &&
972
396
                  ranges::sized_range<Range>) {
973
396
        return true;
974
    }
975
    else if constexpr (std::is_same_v<
976
                           ranges::const_iterator_t<Range>,
977
                           typename detail::basic_scan_buffer<
978
0
                               detail::char_t<Range>>::forward_iterator>) {
979
0
        auto beg = r.begin();
980
0
        if (!beg.stores_parent()) {
981
0
            return true;
982
0
        }
983
0
        return beg.parent()->is_contiguous();
984
    }
985
162
    else {
986
162
        return false;
987
162
    }
988
558
}
Unexecuted instantiation: bool scn::v4::impl::is_entire_source_contiguous<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v4::impl::is_entire_source_contiguous<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
bool scn::v4::impl::is_entire_source_contiguous<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
969
162
{
970
162
    SCN_UNUSED(r);
971
    if constexpr (ranges::contiguous_range<Range> &&
972
                  ranges::sized_range<Range>) {
973
        return true;
974
    }
975
    else if constexpr (std::is_same_v<
976
                           ranges::const_iterator_t<Range>,
977
                           typename detail::basic_scan_buffer<
978
                               detail::char_t<Range>>::forward_iterator>) {
979
        auto beg = r.begin();
980
        if (!beg.stores_parent()) {
981
            return true;
982
        }
983
        return beg.parent()->is_contiguous();
984
    }
985
162
    else {
986
162
        return false;
987
162
    }
988
162
}
bool scn::v4::impl::is_entire_source_contiguous<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
969
396
{
970
396
    SCN_UNUSED(r);
971
    if constexpr (ranges::contiguous_range<Range> &&
972
396
                  ranges::sized_range<Range>) {
973
396
        return true;
974
    }
975
    else if constexpr (std::is_same_v<
976
                           ranges::const_iterator_t<Range>,
977
                           typename detail::basic_scan_buffer<
978
                               detail::char_t<Range>>::forward_iterator>) {
979
        auto beg = r.begin();
980
        if (!beg.stores_parent()) {
981
            return true;
982
        }
983
        return beg.parent()->is_contiguous();
984
    }
985
    else {
986
        return false;
987
    }
988
396
}
989
990
template <typename Range>
991
bool is_segment_contiguous(Range r)
992
396
{
993
396
    SCN_UNUSED(r);
994
995
    if constexpr (ranges::contiguous_range<Range> &&
996
396
                  ranges::sized_range<Range>) {
997
396
        return true;
998
    }
999
    else if constexpr (std::is_same_v<
1000
                           ranges::const_iterator_t<Range>,
1001
                           typename detail::basic_scan_buffer<
1002
0
                               detail::char_t<Range>>::forward_iterator>) {
1003
0
        auto beg = r.begin();
1004
0
        if (beg.contiguous_segment().empty()) {
1005
0
            return false;
1006
0
        }
1007
        if constexpr (ranges::common_range<Range>) {
1008
            return beg.contiguous_segment().end() ==
1009
                   ranges::end(r).contiguous_segment().end();
1010
        }
1011
0
        else {
1012
0
            if (beg.stores_parent()) {
1013
0
                return beg.contiguous_segment().end() ==
1014
0
                       beg.parent()->current_view().end();
1015
0
            }
1016
0
            return true;
1017
0
        }
1018
    }
1019
0
    else {
1020
0
        return false;
1021
0
    }
1022
396
}
Unexecuted instantiation: bool scn::v4::impl::is_segment_contiguous<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Unexecuted instantiation: bool scn::v4::impl::is_segment_contiguous<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v4::impl::is_segment_contiguous<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
bool scn::v4::impl::is_segment_contiguous<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
992
396
{
993
396
    SCN_UNUSED(r);
994
995
    if constexpr (ranges::contiguous_range<Range> &&
996
396
                  ranges::sized_range<Range>) {
997
396
        return true;
998
    }
999
    else if constexpr (std::is_same_v<
1000
                           ranges::const_iterator_t<Range>,
1001
                           typename detail::basic_scan_buffer<
1002
                               detail::char_t<Range>>::forward_iterator>) {
1003
        auto beg = r.begin();
1004
        if (beg.contiguous_segment().empty()) {
1005
            return false;
1006
        }
1007
        if constexpr (ranges::common_range<Range>) {
1008
            return beg.contiguous_segment().end() ==
1009
                   ranges::end(r).contiguous_segment().end();
1010
        }
1011
        else {
1012
            if (beg.stores_parent()) {
1013
                return beg.contiguous_segment().end() ==
1014
                       beg.parent()->current_view().end();
1015
            }
1016
            return true;
1017
        }
1018
    }
1019
    else {
1020
        return false;
1021
    }
1022
396
}
Unexecuted instantiation: bool scn::v4::impl::is_segment_contiguous<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
1023
1024
template <typename Range>
1025
std::size_t contiguous_beginning_size(Range r)
1026
{
1027
    SCN_UNUSED(r);
1028
1029
    if constexpr (ranges::contiguous_range<Range> &&
1030
                  ranges::sized_range<Range>) {
1031
        return r.size();
1032
    }
1033
    else if constexpr (std::is_same_v<
1034
                           ranges::const_iterator_t<Range>,
1035
                           typename detail::basic_scan_buffer<
1036
                               detail::char_t<Range>>::forward_iterator>) {
1037
        if constexpr (ranges::common_range<Range>) {
1038
            auto seg = r.begin().contiguous_segment();
1039
            auto dist =
1040
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1041
            return std::min(seg.size(), dist);
1042
        }
1043
        else {
1044
            return r.begin().contiguous_segment().size();
1045
        }
1046
    }
1047
    else {
1048
        return false;
1049
    }
1050
}
1051
1052
template <typename Range>
1053
auto get_contiguous_beginning(Range r)
1054
3.70k
{
1055
3.70k
    SCN_UNUSED(r);
1056
1057
    if constexpr (ranges::contiguous_range<Range> &&
1058
                  ranges::sized_range<Range>) {
1059
        return r;
1060
    }
1061
    else if constexpr (std::is_same_v<
1062
                           ranges::const_iterator_t<Range>,
1063
                           typename detail::basic_scan_buffer<
1064
0
                               detail::char_t<Range>>::forward_iterator>) {
1065
        if constexpr (ranges::common_range<Range>) {
1066
            auto seg = r.begin().contiguous_segment();
1067
            auto dist =
1068
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1069
            return seg.substr(0, std::min(seg.size(), dist));
1070
        }
1071
0
        else {
1072
0
            return r.begin().contiguous_segment();
1073
0
        }
1074
    }
1075
3.70k
    else {
1076
3.70k
        return std::basic_string_view<detail::char_t<Range>>{};
1077
3.70k
    }
1078
3.70k
}
Unexecuted instantiation: auto scn::v4::impl::get_contiguous_beginning<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > > >(scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >)
Unexecuted instantiation: auto scn::v4::impl::get_contiguous_beginning<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: auto scn::v4::impl::get_contiguous_beginning<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > > >(scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >)
Unexecuted instantiation: auto scn::v4::impl::get_contiguous_beginning<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >(scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >)
auto scn::v4::impl::get_contiguous_beginning<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
1054
1.51k
{
1055
1.51k
    SCN_UNUSED(r);
1056
1057
    if constexpr (ranges::contiguous_range<Range> &&
1058
                  ranges::sized_range<Range>) {
1059
        return r;
1060
    }
1061
    else if constexpr (std::is_same_v<
1062
                           ranges::const_iterator_t<Range>,
1063
                           typename detail::basic_scan_buffer<
1064
                               detail::char_t<Range>>::forward_iterator>) {
1065
        if constexpr (ranges::common_range<Range>) {
1066
            auto seg = r.begin().contiguous_segment();
1067
            auto dist =
1068
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1069
            return seg.substr(0, std::min(seg.size(), dist));
1070
        }
1071
        else {
1072
            return r.begin().contiguous_segment();
1073
        }
1074
    }
1075
1.51k
    else {
1076
1.51k
        return std::basic_string_view<detail::char_t<Range>>{};
1077
1.51k
    }
1078
1.51k
}
Unexecuted instantiation: auto scn::v4::impl::get_contiguous_beginning<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
auto scn::v4::impl::get_contiguous_beginning<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > > >(scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >)
Line
Count
Source
1054
2.19k
{
1055
2.19k
    SCN_UNUSED(r);
1056
1057
    if constexpr (ranges::contiguous_range<Range> &&
1058
                  ranges::sized_range<Range>) {
1059
        return r;
1060
    }
1061
    else if constexpr (std::is_same_v<
1062
                           ranges::const_iterator_t<Range>,
1063
                           typename detail::basic_scan_buffer<
1064
                               detail::char_t<Range>>::forward_iterator>) {
1065
        if constexpr (ranges::common_range<Range>) {
1066
            auto seg = r.begin().contiguous_segment();
1067
            auto dist =
1068
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1069
            return seg.substr(0, std::min(seg.size(), dist));
1070
        }
1071
        else {
1072
            return r.begin().contiguous_segment();
1073
        }
1074
    }
1075
2.19k
    else {
1076
2.19k
        return std::basic_string_view<detail::char_t<Range>>{};
1077
2.19k
    }
1078
2.19k
}
1079
1080
template <typename Range>
1081
auto get_as_contiguous(Range r)
1082
396
{
1083
396
    SCN_EXPECT(is_segment_contiguous(r));
1084
1085
    if constexpr (ranges::contiguous_range<Range> &&
1086
396
                  ranges::sized_range<Range>) {
1087
396
        return r;
1088
    }
1089
    else if constexpr (std::is_same_v<
1090
                           ranges::const_iterator_t<Range>,
1091
                           typename detail::basic_scan_buffer<
1092
0
                               detail::char_t<Range>>::forward_iterator>) {
1093
        if constexpr (ranges::common_range<Range>) {
1094
            return detail::make_string_view_from_pointers(
1095
                r.begin().to_contiguous_segment_iterator(),
1096
                r.end().to_contiguous_segment_iterator());
1097
        }
1098
0
        else {
1099
0
            return r.begin().contiguous_segment();
1100
0
        }
1101
    }
1102
0
    else {
1103
0
        SCN_EXPECT(false);
1104
0
        SCN_UNREACHABLE;
1105
0
        SCN_UNUSED(r);
1106
        // for return type deduction
1107
0
        return std::basic_string_view<detail::char_t<Range>>{};
1108
0
    }
1109
396
}
Unexecuted instantiation: auto scn::v4::impl::get_as_contiguous<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Unexecuted instantiation: auto scn::v4::impl::get_as_contiguous<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: auto scn::v4::impl::get_as_contiguous<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
auto scn::v4::impl::get_as_contiguous<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
1082
396
{
1083
396
    SCN_EXPECT(is_segment_contiguous(r));
1084
1085
    if constexpr (ranges::contiguous_range<Range> &&
1086
396
                  ranges::sized_range<Range>) {
1087
396
        return r;
1088
    }
1089
    else if constexpr (std::is_same_v<
1090
                           ranges::const_iterator_t<Range>,
1091
                           typename detail::basic_scan_buffer<
1092
                               detail::char_t<Range>>::forward_iterator>) {
1093
        if constexpr (ranges::common_range<Range>) {
1094
            return detail::make_string_view_from_pointers(
1095
                r.begin().to_contiguous_segment_iterator(),
1096
                r.end().to_contiguous_segment_iterator());
1097
        }
1098
        else {
1099
            return r.begin().contiguous_segment();
1100
        }
1101
    }
1102
    else {
1103
        SCN_EXPECT(false);
1104
        SCN_UNREACHABLE;
1105
        SCN_UNUSED(r);
1106
        // for return type deduction
1107
        return std::basic_string_view<detail::char_t<Range>>{};
1108
    }
1109
396
}
Unexecuted instantiation: auto scn::v4::impl::get_as_contiguous<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
1110
1111
template <typename Range>
1112
std::size_t guaranteed_minimum_size(Range r)
1113
10.5k
{
1114
    if constexpr (ranges::sized_range<Range>) {
1115
        return r.size();
1116
    }
1117
    else if constexpr (std::is_same_v<
1118
                           ranges::const_iterator_t<Range>,
1119
                           typename detail::basic_scan_buffer<
1120
0
                               detail::char_t<Range>>::forward_iterator>) {
1121
        if constexpr (ranges::common_range<Range>) {
1122
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1123
        }
1124
0
        else {
1125
0
            if (r.begin().stores_parent()) {
1126
0
                return static_cast<size_t>(
1127
0
                    r.begin().parent()->chars_available() -
1128
0
                    r.begin().position());
1129
0
            }
1130
0
            return r.begin().contiguous_segment().size();
1131
0
        }
1132
    }
1133
10.5k
    else {
1134
10.5k
        SCN_UNUSED(r);
1135
10.5k
        return 0;
1136
10.5k
    }
1137
10.5k
}
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >)
unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >)
Line
Count
Source
1113
7.07k
{
1114
    if constexpr (ranges::sized_range<Range>) {
1115
        return r.size();
1116
    }
1117
    else if constexpr (std::is_same_v<
1118
                           ranges::const_iterator_t<Range>,
1119
                           typename detail::basic_scan_buffer<
1120
                               detail::char_t<Range>>::forward_iterator>) {
1121
        if constexpr (ranges::common_range<Range>) {
1122
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1123
        }
1124
        else {
1125
            if (r.begin().stores_parent()) {
1126
                return static_cast<size_t>(
1127
                    r.begin().parent()->chars_available() -
1128
                    r.begin().position());
1129
            }
1130
            return r.begin().contiguous_segment().size();
1131
        }
1132
    }
1133
7.07k
    else {
1134
7.07k
        SCN_UNUSED(r);
1135
7.07k
        return 0;
1136
7.07k
    }
1137
7.07k
}
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >)
unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >)
Line
Count
Source
1113
890
{
1114
    if constexpr (ranges::sized_range<Range>) {
1115
        return r.size();
1116
    }
1117
    else if constexpr (std::is_same_v<
1118
                           ranges::const_iterator_t<Range>,
1119
                           typename detail::basic_scan_buffer<
1120
                               detail::char_t<Range>>::forward_iterator>) {
1121
        if constexpr (ranges::common_range<Range>) {
1122
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1123
        }
1124
        else {
1125
            if (r.begin().stores_parent()) {
1126
                return static_cast<size_t>(
1127
                    r.begin().parent()->chars_available() -
1128
                    r.begin().position());
1129
            }
1130
            return r.begin().contiguous_segment().size();
1131
        }
1132
    }
1133
890
    else {
1134
890
        SCN_UNUSED(r);
1135
890
        return 0;
1136
890
    }
1137
890
}
unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >)
Line
Count
Source
1113
1.30k
{
1114
    if constexpr (ranges::sized_range<Range>) {
1115
        return r.size();
1116
    }
1117
    else if constexpr (std::is_same_v<
1118
                           ranges::const_iterator_t<Range>,
1119
                           typename detail::basic_scan_buffer<
1120
                               detail::char_t<Range>>::forward_iterator>) {
1121
        if constexpr (ranges::common_range<Range>) {
1122
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1123
        }
1124
        else {
1125
            if (r.begin().stores_parent()) {
1126
                return static_cast<size_t>(
1127
                    r.begin().parent()->chars_available() -
1128
                    r.begin().position());
1129
            }
1130
            return r.begin().contiguous_segment().size();
1131
        }
1132
    }
1133
1.30k
    else {
1134
1.30k
        SCN_UNUSED(r);
1135
1.30k
        return 0;
1136
1.30k
    }
1137
1.30k
}
unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
1113
864
{
1114
    if constexpr (ranges::sized_range<Range>) {
1115
        return r.size();
1116
    }
1117
    else if constexpr (std::is_same_v<
1118
                           ranges::const_iterator_t<Range>,
1119
                           typename detail::basic_scan_buffer<
1120
                               detail::char_t<Range>>::forward_iterator>) {
1121
        if constexpr (ranges::common_range<Range>) {
1122
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1123
        }
1124
        else {
1125
            if (r.begin().stores_parent()) {
1126
                return static_cast<size_t>(
1127
                    r.begin().parent()->chars_available() -
1128
                    r.begin().position());
1129
            }
1130
            return r.begin().contiguous_segment().size();
1131
        }
1132
    }
1133
864
    else {
1134
864
        SCN_UNUSED(r);
1135
864
        return 0;
1136
864
    }
1137
864
}
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >)
unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
1113
368
{
1114
    if constexpr (ranges::sized_range<Range>) {
1115
        return r.size();
1116
    }
1117
    else if constexpr (std::is_same_v<
1118
                           ranges::const_iterator_t<Range>,
1119
                           typename detail::basic_scan_buffer<
1120
                               detail::char_t<Range>>::forward_iterator>) {
1121
        if constexpr (ranges::common_range<Range>) {
1122
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1123
        }
1124
        else {
1125
            if (r.begin().stores_parent()) {
1126
                return static_cast<size_t>(
1127
                    r.begin().parent()->chars_available() -
1128
                    r.begin().position());
1129
            }
1130
            return r.begin().contiguous_segment().size();
1131
        }
1132
    }
1133
368
    else {
1134
368
        SCN_UNUSED(r);
1135
368
        return 0;
1136
368
    }
1137
368
}
Unexecuted instantiation: unsigned long scn::v4::impl::guaranteed_minimum_size<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
1138
1139
template <typename I, typename T>
1140
struct iterator_value_result {
1141
    SCN_NO_UNIQUE_ADDRESS I iterator;
1142
    SCN_NO_UNIQUE_ADDRESS T value;
1143
};
1144
1145
}  // namespace impl
1146
1147
/////////////////////////////////////////////////////////////////
1148
// File support
1149
/////////////////////////////////////////////////////////////////
1150
1151
namespace detail {
1152
1153
template <typename FileInterface>
1154
basic_scan_file_buffer<FileInterface>::basic_scan_file_buffer(
1155
    FileInterface file)
1156
0
    : base(base::non_contiguous_tag{}), m_file(SCN_MOVE(file))
1157
0
{
1158
0
    m_file.lock();
1159
0
}
1160
1161
template <typename FileInterface>
1162
basic_scan_file_buffer<FileInterface>::~basic_scan_file_buffer()
1163
0
{
1164
0
    m_file.unlock();
1165
0
}
1166
1167
template <typename FileInterface>
1168
bool basic_scan_file_buffer<FileInterface>::fill()
1169
0
{
1170
0
    if (!this->m_current_view.empty()) {
1171
0
        this->m_putback_buffer.insert(this->m_putback_buffer.end(),
1172
0
                                      this->m_current_view.begin(),
1173
0
                                      this->m_current_view.end());
1174
0
    }
1175
1176
0
    if (m_file.has_buffering()) {
1177
0
        if (!this->m_current_view.empty()) {
1178
0
            m_file.unsafe_advance_n(
1179
0
                static_cast<std::ptrdiff_t>(this->m_current_view.size()));
1180
0
        }
1181
1182
0
        if (m_file.buffer().empty()) {
1183
0
            m_file.fill_buffer();
1184
0
        }
1185
0
        m_current_view = m_file.buffer();
1186
0
        return !this->m_current_view.empty();
1187
0
    }
1188
1189
0
    this->m_latest = m_file.read_one();
1190
0
    if (!this->m_latest) {
1191
0
        this->m_current_view = {};
1192
0
        return false;
1193
0
    }
1194
1195
0
    this->m_current_view = {&*this->m_latest, 1};
1196
0
    return true;
1197
0
}
1198
1199
template <typename FileInterface>
1200
bool basic_scan_file_buffer<FileInterface>::sync(std::ptrdiff_t position)
1201
0
{
1202
0
    struct putback_wrapper {
1203
0
        putback_wrapper(FileInterface& interface) : i(interface)
1204
0
        {
1205
0
            i.prepare_putback();
1206
0
        }
1207
0
        ~putback_wrapper()
1208
0
        {
1209
0
            i.finalize_putback();
1210
0
        }
1211
1212
0
        FileInterface& i;
1213
0
    };
1214
1215
0
    if (m_file.has_buffering()) {
1216
0
        if (position <
1217
0
            static_cast<std::ptrdiff_t>(this->putback_buffer().size())) {
1218
0
            putback_wrapper wrapper{m_file};
1219
0
            auto segment = this->get_segment_starting_at(position);
1220
0
            for (auto it = segment.rbegin(); it != segment.rend(); ++it) {
1221
0
                if (!m_file.putback(*it)) {
1222
0
                    return false;
1223
0
                }
1224
0
            }
1225
0
            return true;
1226
0
        }
1227
1228
0
        m_file.unsafe_advance_n(position - static_cast<std::ptrdiff_t>(
1229
0
                                               this->putback_buffer().size()));
1230
0
        return true;
1231
0
    }
1232
1233
0
    const auto chars_avail = this->chars_available();
1234
0
    if (position == chars_avail) {
1235
0
        return true;
1236
0
    }
1237
1238
0
    putback_wrapper wrapper{m_file};
1239
0
    SCN_EXPECT(m_current_view.size() == 1);
1240
0
    (void)m_file.putback(m_current_view.front());
1241
1242
0
    auto segment = std::string_view{this->putback_buffer().data(),
1243
0
                                    this->putback_buffer().size()}
1244
0
                       .substr(static_cast<std::size_t>(position));
1245
0
    for (auto it = segment.rbegin(); it != segment.rend(); ++it) {
1246
0
        if (!m_file.putback(*it)) {
1247
0
            return false;
1248
0
        }
1249
0
    }
1250
0
    return true;
1251
0
}
1252
1253
}  // namespace detail
1254
1255
/////////////////////////////////////////////////////////////////
1256
// Unicode
1257
/////////////////////////////////////////////////////////////////
1258
1259
namespace impl {
1260
1261
template <typename CharT>
1262
constexpr bool validate_unicode(std::basic_string_view<CharT> src)
1263
13.9k
{
1264
13.9k
    auto it = src.begin();
1265
474k
    while (it != src.end()) {
1266
463k
        const auto len = static_cast<std::ptrdiff_t>(
1267
463k
            detail::code_point_length_by_starting_code_unit(*it));
1268
463k
        SCN_EXPECT(len >= 0);
1269
463k
        if (len == 0) {
1270
1.29k
            return false;
1271
1.29k
        }
1272
462k
        if (std::distance(it, src.end()) < len) {
1273
246
            return false;
1274
246
        }
1275
462k
        const auto cp = detail::decode_code_point_exhaustive(
1276
462k
            detail::make_string_view_from_iterators<CharT>(it, it + len));
1277
462k
        if (cp >= detail::invalid_code_point) {
1278
1.34k
            return false;
1279
1.34k
        }
1280
460k
        it += len;
1281
460k
    }
1282
11.1k
    return true;
1283
13.9k
}
bool scn::v4::impl::validate_unicode<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
1263
8.45k
{
1264
8.45k
    auto it = src.begin();
1265
422k
    while (it != src.end()) {
1266
416k
        const auto len = static_cast<std::ptrdiff_t>(
1267
416k
            detail::code_point_length_by_starting_code_unit(*it));
1268
416k
        SCN_EXPECT(len >= 0);
1269
416k
        if (len == 0) {
1270
1.29k
            return false;
1271
1.29k
        }
1272
414k
        if (std::distance(it, src.end()) < len) {
1273
246
            return false;
1274
246
        }
1275
414k
        const auto cp = detail::decode_code_point_exhaustive(
1276
414k
            detail::make_string_view_from_iterators<CharT>(it, it + len));
1277
414k
        if (cp >= detail::invalid_code_point) {
1278
414
            return false;
1279
414
        }
1280
414k
        it += len;
1281
414k
    }
1282
6.50k
    return true;
1283
8.45k
}
bool scn::v4::impl::validate_unicode<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
1263
5.53k
{
1264
5.53k
    auto it = src.begin();
1265
52.2k
    while (it != src.end()) {
1266
47.6k
        const auto len = static_cast<std::ptrdiff_t>(
1267
47.6k
            detail::code_point_length_by_starting_code_unit(*it));
1268
47.6k
        SCN_EXPECT(len >= 0);
1269
47.6k
        if (len == 0) {
1270
0
            return false;
1271
0
        }
1272
47.6k
        if (std::distance(it, src.end()) < len) {
1273
0
            return false;
1274
0
        }
1275
47.6k
        const auto cp = detail::decode_code_point_exhaustive(
1276
47.6k
            detail::make_string_view_from_iterators<CharT>(it, it + len));
1277
47.6k
        if (cp >= detail::invalid_code_point) {
1278
930
            return false;
1279
930
        }
1280
46.7k
        it += len;
1281
46.7k
    }
1282
4.60k
    return true;
1283
5.53k
}
1284
1285
template <typename Range>
1286
constexpr auto get_start_for_next_code_point(Range input)
1287
    -> ranges::const_iterator_t<Range>
1288
9.40k
{
1289
9.40k
    auto it = input.begin();
1290
19.9k
    for (; it != input.end(); ++it) {
1291
18.2k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1292
7.77k
            break;
1293
7.77k
        }
1294
18.2k
    }
1295
9.40k
    return it;
1296
9.40k
}
_ZN3scn2v44impl29get_start_for_next_code_pointINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
1288
5.55k
{
1289
5.55k
    auto it = input.begin();
1290
15.0k
    for (; it != input.end(); ++it) {
1291
13.7k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1292
4.17k
            break;
1293
4.17k
        }
1294
13.7k
    }
1295
5.55k
    return it;
1296
5.55k
}
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESR_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESR_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESN_
_ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_
Line
Count
Source
1288
2.89k
{
1289
2.89k
    auto it = input.begin();
1290
3.39k
    for (; it != input.end(); ++it) {
1291
3.19k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1292
2.70k
            break;
1293
2.70k
        }
1294
3.19k
    }
1295
2.89k
    return it;
1296
2.89k
}
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
_ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
1288
954
{
1289
954
    auto it = input.begin();
1290
1.43k
    for (; it != input.end(); ++it) {
1291
1.38k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1292
900
            break;
1293
900
        }
1294
1.38k
    }
1295
954
    return it;
1296
954
}
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESR_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESR_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESN_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESO_
Unexecuted instantiation: _ZN3scn2v44impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESO_
1297
1298
template <typename CharT>
1299
constexpr auto get_next_code_point(std::basic_string_view<CharT> input)
1300
    -> iterator_value_result<typename std::basic_string_view<CharT>::iterator,
1301
                             char32_t>
1302
208M
{
1303
208M
    SCN_EXPECT(!input.empty());
1304
1305
208M
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1306
208M
    if (SCN_UNLIKELY(len == 0)) {
1307
5.55k
        return {get_start_for_next_code_point(input),
1308
5.55k
                detail::invalid_code_point};
1309
5.55k
    }
1310
208M
    if (SCN_UNLIKELY(len > input.size())) {
1311
982
        return {input.end(), detail::invalid_code_point};
1312
982
    }
1313
1314
208M
    return {input.begin() + len,
1315
208M
            detail::decode_code_point_exhaustive(input.substr(0, len))};
1316
208M
}
scn::v4::impl::iterator_value_result<std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator, char32_t> scn::v4::impl::get_next_code_point<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
1302
273k
{
1303
273k
    SCN_EXPECT(!input.empty());
1304
1305
273k
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1306
273k
    if (SCN_UNLIKELY(len == 0)) {
1307
5.55k
        return {get_start_for_next_code_point(input),
1308
5.55k
                detail::invalid_code_point};
1309
5.55k
    }
1310
268k
    if (SCN_UNLIKELY(len > input.size())) {
1311
982
        return {input.end(), detail::invalid_code_point};
1312
982
    }
1313
1314
267k
    return {input.begin() + len,
1315
267k
            detail::decode_code_point_exhaustive(input.substr(0, len))};
1316
268k
}
scn::v4::impl::iterator_value_result<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator, char32_t> scn::v4::impl::get_next_code_point<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
1302
208M
{
1303
208M
    SCN_EXPECT(!input.empty());
1304
1305
208M
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1306
208M
    if (SCN_UNLIKELY(len == 0)) {
1307
0
        return {get_start_for_next_code_point(input),
1308
0
                detail::invalid_code_point};
1309
0
    }
1310
208M
    if (SCN_UNLIKELY(len > input.size())) {
1311
0
        return {input.end(), detail::invalid_code_point};
1312
0
    }
1313
1314
208M
    return {input.begin() + len,
1315
208M
            detail::decode_code_point_exhaustive(input.substr(0, len))};
1316
208M
}
1317
1318
template <typename CharT>
1319
constexpr auto get_next_code_point_valid(std::basic_string_view<CharT> input)
1320
    -> iterator_value_result<typename std::basic_string_view<CharT>::iterator,
1321
                             char32_t>
1322
99.7k
{
1323
99.7k
    SCN_EXPECT(!input.empty());
1324
1325
99.7k
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1326
99.7k
    SCN_EXPECT(len <= input.size());
1327
1328
99.7k
    return {input.begin() + static_cast<std::ptrdiff_t>(len),
1329
99.7k
            detail::decode_code_point_exhaustive_valid(input.substr(0, len))};
1330
99.7k
}
1331
1332
template <typename CharT>
1333
struct is_first_char_space_result {
1334
    ranges::iterator_t<std::basic_string_view<CharT>> iterator;
1335
    char32_t cp;
1336
    bool is_space;
1337
};
1338
1339
template <typename CharT>
1340
inline constexpr auto is_first_char_space(std::basic_string_view<CharT> str)
1341
    -> is_first_char_space_result<CharT>
1342
208M
{
1343
    // TODO: optimize
1344
208M
    SCN_EXPECT(!str.empty());
1345
208M
    auto res = get_next_code_point(str);
1346
208M
    return {res.iterator, res.value, detail::is_cp_space(res.value)};
1347
208M
}
scn::v4::impl::is_first_char_space_result<char> scn::v4::impl::is_first_char_space<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
1342
57.2k
{
1343
    // TODO: optimize
1344
57.2k
    SCN_EXPECT(!str.empty());
1345
57.2k
    auto res = get_next_code_point(str);
1346
57.2k
    return {res.iterator, res.value, detail::is_cp_space(res.value)};
1347
57.2k
}
scn::v4::impl::is_first_char_space_result<wchar_t> scn::v4::impl::is_first_char_space<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
1342
208M
{
1343
    // TODO: optimize
1344
208M
    SCN_EXPECT(!str.empty());
1345
208M
    auto res = get_next_code_point(str);
1346
208M
    return {res.iterator, res.value, detail::is_cp_space(res.value)};
1347
208M
}
1348
1349
inline constexpr scan_expected<wchar_t> encode_code_point_as_wide_character(
1350
    char32_t cp,
1351
    bool error_on_overflow)
1352
0
{
1353
0
    SCN_EXPECT(cp < detail::invalid_code_point);
1354
0
    if constexpr (sizeof(wchar_t) == sizeof(char32_t)) {
1355
0
        SCN_UNUSED(error_on_overflow);
1356
0
        return static_cast<wchar_t>(cp);
1357
    }
1358
    else {
1359
        if (cp < 0x10000) {
1360
            return static_cast<wchar_t>(cp);
1361
        }
1362
        if (error_on_overflow) {
1363
            return detail::unexpected_scan_error(
1364
                scan_error::value_positive_overflow,
1365
                "Non-BMP code point can't be "
1366
                "narrowed to a single 2-byte "
1367
                "wchar_t code unit");
1368
        }
1369
        // Return the lead surrogate
1370
        return static_cast<wchar_t>(
1371
            (static_cast<uint32_t>(cp) - 0x10000) / 0x400 + 0xd800);
1372
    }
1373
0
}
1374
1375
template <typename SourceCharT, typename DestCharT>
1376
void transcode_to_string_impl_to32(std::basic_string_view<SourceCharT> src,
1377
                                   std::basic_string<DestCharT>& dest)
1378
2.81k
{
1379
2.81k
    static_assert(sizeof(DestCharT) == 4);
1380
1381
2.81k
    auto it = src.begin();
1382
139k
    while (it != src.end()) {
1383
137k
        auto res = get_next_code_point(
1384
137k
            detail::make_string_view_from_iterators<SourceCharT>(it,
1385
137k
                                                                 src.end()));
1386
137k
        if (SCN_UNLIKELY(res.value == detail::invalid_code_point)) {
1387
3.19k
            dest.push_back(DestCharT{0xfffd});
1388
3.19k
        }
1389
133k
        else {
1390
133k
            dest.push_back(static_cast<DestCharT>(res.value));
1391
133k
        }
1392
137k
        it = detail::make_string_view_iterator(src, res.iterator);
1393
137k
    }
1394
2.81k
}
1395
template <typename SourceCharT, typename DestCharT>
1396
void transcode_valid_to_string_impl_to32(
1397
    std::basic_string_view<SourceCharT> src,
1398
    std::basic_string<DestCharT>& dest)
1399
1.62k
{
1400
1.62k
    static_assert(sizeof(DestCharT) == 4);
1401
1402
1.62k
    auto it = src.begin();
1403
101k
    while (it != src.end()) {
1404
99.7k
        auto res = get_next_code_point_valid(
1405
99.7k
            detail::make_string_view_from_iterators<SourceCharT>(it,
1406
99.7k
                                                                 src.end()));
1407
99.7k
        SCN_EXPECT(res.value < detail::invalid_code_point);
1408
99.7k
        dest.push_back(static_cast<DestCharT>(res.value));
1409
99.7k
        it = detail::make_string_view_iterator(src, res.iterator);
1410
99.7k
    }
1411
1.62k
}
1412
1413
template <bool VerifiedValid, typename SourceCharT, typename DestCharT>
1414
void transcode_to_string_impl_32to8(std::basic_string_view<SourceCharT> src,
1415
                                    std::basic_string<DestCharT>& dest)
1416
1.15k
{
1417
1.15k
    static_assert(sizeof(SourceCharT) == 4);
1418
1.15k
    static_assert(sizeof(DestCharT) == 1);
1419
1420
10.5k
    for (auto cp : src) {
1421
10.5k
        const auto u32cp = static_cast<uint32_t>(cp);
1422
10.5k
        if (SCN_UNLIKELY(!VerifiedValid && static_cast<char32_t>(cp) >=
1423
10.5k
                                               detail::invalid_code_point)) {
1424
            // Replacement character
1425
0
            dest.push_back(static_cast<char>(0xef));
1426
0
            dest.push_back(static_cast<char>(0xbf));
1427
0
            dest.push_back(static_cast<char>(0xbd));
1428
0
        }
1429
10.5k
        else if (cp < 128) {
1430
8.86k
            dest.push_back(static_cast<char>(cp));
1431
8.86k
        }
1432
1.71k
        else if (cp < 2048) {
1433
178
            dest.push_back(
1434
178
                static_cast<char>(0xc0 | (static_cast<char>(u32cp >> 6))));
1435
178
            dest.push_back(
1436
178
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1437
178
        }
1438
1.53k
        else if (cp < 65536) {
1439
1.10k
            dest.push_back(
1440
1.10k
                static_cast<char>(0xe0 | (static_cast<char>(u32cp >> 12))));
1441
1.10k
            dest.push_back(static_cast<char>(
1442
1.10k
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1443
1.10k
            dest.push_back(
1444
1.10k
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1445
1.10k
        }
1446
430
        else {
1447
430
            dest.push_back(
1448
430
                static_cast<char>(0xf0 | (static_cast<char>(u32cp >> 18))));
1449
430
            dest.push_back(static_cast<char>(
1450
430
                0x80 | (static_cast<char>(u32cp >> 12) & 0x3f)));
1451
430
            dest.push_back(static_cast<char>(
1452
430
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1453
430
            dest.push_back(
1454
430
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1455
430
        }
1456
10.5k
    }
1457
1.15k
}
1458
1459
template <bool VerifiedValid, typename SourceCharT, typename DestCharT>
1460
void transcode_to_string_impl_32to16(std::basic_string_view<SourceCharT> src,
1461
                                     std::basic_string<DestCharT>& dest)
1462
{
1463
    static_assert(sizeof(SourceCharT) == 4);
1464
    static_assert(sizeof(DestCharT) == 2);
1465
1466
    for (auto cp : src) {
1467
        const auto u32cp = static_cast<uint32_t>(cp);
1468
        if (SCN_UNLIKELY(!VerifiedValid && cp >= detail::invalid_code_point)) {
1469
            dest.push_back(char16_t{0xfffd});
1470
        }
1471
        else if (cp < 0x10000) {
1472
            dest.push_back(static_cast<char16_t>(cp));
1473
        }
1474
        else {
1475
            dest.push_back(
1476
                static_cast<char16_t>((u32cp - 0x10000) / 0x400 + 0xd800));
1477
            dest.push_back(
1478
                static_cast<char16_t>((u32cp - 0x10000) % 0x400 + 0xd800));
1479
        }
1480
    }
1481
}
1482
1483
template <typename SourceCharT, typename DestCharT>
1484
void transcode_to_string(std::basic_string_view<SourceCharT> src,
1485
                         std::basic_string<DestCharT>& dest)
1486
2.81k
{
1487
2.81k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1488
1489
2.81k
    if constexpr (sizeof(SourceCharT) == 1) {
1490
        if constexpr (sizeof(DestCharT) == 2) {
1491
            std::u32string tmp;
1492
            transcode_to_string_impl_to32(src, tmp);
1493
            return transcode_to_string_impl_32to16<false>(
1494
                std::u32string_view{tmp}, dest);
1495
        }
1496
2.81k
        else if constexpr (sizeof(DestCharT) == 4) {
1497
2.81k
            return transcode_to_string_impl_to32(src, dest);
1498
2.81k
        }
1499
    }
1500
    else if constexpr (sizeof(SourceCharT) == 2) {
1501
        if constexpr (sizeof(DestCharT) == 1) {
1502
            std::u32string tmp;
1503
            transcode_to_string_impl_to32(src, tmp);
1504
            return transcode_to_string_impl_32to8<false>(
1505
                std::u32string_view{tmp}, dest);
1506
        }
1507
        else if constexpr (sizeof(DestCharT) == 4) {
1508
            return trasncode_to_string_impl_to32(src, dest);
1509
        }
1510
    }
1511
    else if constexpr (sizeof(SourceCharT) == 4) {
1512
        if constexpr (sizeof(DestCharT) == 1) {
1513
            return transcode_to_string_impl_32to8<false>(src, dest);
1514
        }
1515
        else if constexpr (sizeof(DestCharT) == 2) {
1516
            return transcode_to_string_impl_32to16<false>(src, dest);
1517
        }
1518
    }
1519
1520
2.81k
    SCN_EXPECT(false);
1521
2.81k
    SCN_UNREACHABLE;
1522
2.81k
}
1523
template <typename SourceCharT, typename DestCharT>
1524
void transcode_valid_to_string(std::basic_string_view<SourceCharT> src,
1525
                               std::basic_string<DestCharT>& dest)
1526
2.77k
{
1527
2.77k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1528
1529
2.77k
    SCN_EXPECT(validate_unicode(src));
1530
2.77k
    if constexpr (sizeof(SourceCharT) == 1) {
1531
        if constexpr (sizeof(DestCharT) == 2) {
1532
            // TODO: Optimize, remove utf32-step, go direct utf8->utf16
1533
            std::u32string tmp;
1534
            transcode_valid_to_string_impl_to32(src, tmp);
1535
            return transcode_to_string_impl_32to16<true>(
1536
                std::u32string_view{tmp}, dest);
1537
        }
1538
1.62k
        else if constexpr (sizeof(DestCharT) == 4) {
1539
1.62k
            return transcode_valid_to_string_impl_to32(src, dest);
1540
1.62k
        }
1541
    }
1542
    else if constexpr (sizeof(SourceCharT) == 2) {
1543
        if constexpr (sizeof(DestCharT) == 1) {
1544
            std::u32string tmp;
1545
            transcode_valid_to_string_impl_to32(src, tmp);
1546
            return transcode_to_string_impl_32to8<true>(
1547
                std::u32string_view{tmp}, dest);
1548
        }
1549
        else if constexpr (sizeof(DestCharT) == 4) {
1550
            return trasncode_valid_to_string_impl_to32(src, dest);
1551
        }
1552
    }
1553
1.15k
    else if constexpr (sizeof(SourceCharT) == 4) {
1554
1.15k
        if constexpr (sizeof(DestCharT) == 1) {
1555
1.15k
            return transcode_to_string_impl_32to8<true>(src, dest);
1556
        }
1557
        else if constexpr (sizeof(DestCharT) == 2) {
1558
            return transcode_to_string_impl_32to16<true>(src, dest);
1559
        }
1560
1.15k
    }
1561
1562
2.77k
    SCN_EXPECT(false);
1563
2.77k
    SCN_UNREACHABLE;
1564
2.77k
}
void scn::v4::impl::transcode_valid_to_string<char, wchar_t>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
1526
1.62k
{
1527
1.62k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1528
1529
1.62k
    SCN_EXPECT(validate_unicode(src));
1530
1.62k
    if constexpr (sizeof(SourceCharT) == 1) {
1531
        if constexpr (sizeof(DestCharT) == 2) {
1532
            // TODO: Optimize, remove utf32-step, go direct utf8->utf16
1533
            std::u32string tmp;
1534
            transcode_valid_to_string_impl_to32(src, tmp);
1535
            return transcode_to_string_impl_32to16<true>(
1536
                std::u32string_view{tmp}, dest);
1537
        }
1538
1.62k
        else if constexpr (sizeof(DestCharT) == 4) {
1539
1.62k
            return transcode_valid_to_string_impl_to32(src, dest);
1540
1.62k
        }
1541
    }
1542
    else if constexpr (sizeof(SourceCharT) == 2) {
1543
        if constexpr (sizeof(DestCharT) == 1) {
1544
            std::u32string tmp;
1545
            transcode_valid_to_string_impl_to32(src, tmp);
1546
            return transcode_to_string_impl_32to8<true>(
1547
                std::u32string_view{tmp}, dest);
1548
        }
1549
        else if constexpr (sizeof(DestCharT) == 4) {
1550
            return trasncode_valid_to_string_impl_to32(src, dest);
1551
        }
1552
    }
1553
    else if constexpr (sizeof(SourceCharT) == 4) {
1554
        if constexpr (sizeof(DestCharT) == 1) {
1555
            return transcode_to_string_impl_32to8<true>(src, dest);
1556
        }
1557
        else if constexpr (sizeof(DestCharT) == 2) {
1558
            return transcode_to_string_impl_32to16<true>(src, dest);
1559
        }
1560
    }
1561
1562
1.62k
    SCN_EXPECT(false);
1563
0
    SCN_UNREACHABLE;
1564
1.62k
}
void scn::v4::impl::transcode_valid_to_string<wchar_t, char>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
1526
1.15k
{
1527
1.15k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1528
1529
1.15k
    SCN_EXPECT(validate_unicode(src));
1530
    if constexpr (sizeof(SourceCharT) == 1) {
1531
        if constexpr (sizeof(DestCharT) == 2) {
1532
            // TODO: Optimize, remove utf32-step, go direct utf8->utf16
1533
            std::u32string tmp;
1534
            transcode_valid_to_string_impl_to32(src, tmp);
1535
            return transcode_to_string_impl_32to16<true>(
1536
                std::u32string_view{tmp}, dest);
1537
        }
1538
        else if constexpr (sizeof(DestCharT) == 4) {
1539
            return transcode_valid_to_string_impl_to32(src, dest);
1540
        }
1541
    }
1542
    else if constexpr (sizeof(SourceCharT) == 2) {
1543
        if constexpr (sizeof(DestCharT) == 1) {
1544
            std::u32string tmp;
1545
            transcode_valid_to_string_impl_to32(src, tmp);
1546
            return transcode_to_string_impl_32to8<true>(
1547
                std::u32string_view{tmp}, dest);
1548
        }
1549
        else if constexpr (sizeof(DestCharT) == 4) {
1550
            return trasncode_valid_to_string_impl_to32(src, dest);
1551
        }
1552
    }
1553
1.15k
    else if constexpr (sizeof(SourceCharT) == 4) {
1554
1.15k
        if constexpr (sizeof(DestCharT) == 1) {
1555
1.15k
            return transcode_to_string_impl_32to8<true>(src, dest);
1556
        }
1557
        else if constexpr (sizeof(DestCharT) == 2) {
1558
            return transcode_to_string_impl_32to16<true>(src, dest);
1559
        }
1560
1.15k
    }
1561
1562
1.15k
    SCN_EXPECT(false);
1563
0
    SCN_UNREACHABLE;
1564
1.15k
}
1565
1566
template <typename CharT>
1567
constexpr void for_each_code_point(std::basic_string_view<CharT> input,
1568
                                   function_ref<void(char32_t)> cb)
1569
43.8k
{
1570
    // TODO: Could be optimized by being eager
1571
43.8k
    auto it = input.begin();
1572
100k
    while (it != input.end()) {
1573
57.0k
        auto res = get_next_code_point(
1574
57.0k
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1575
57.0k
        cb(res.value);
1576
57.0k
        it = detail::make_string_view_iterator(input, res.iterator);
1577
57.0k
    }
1578
43.8k
}
void scn::v4::impl::for_each_code_point<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::impl::function_ref<void (char32_t), void (char32_t)>)
Line
Count
Source
1569
40.4k
{
1570
    // TODO: Could be optimized by being eager
1571
40.4k
    auto it = input.begin();
1572
88.5k
    while (it != input.end()) {
1573
48.1k
        auto res = get_next_code_point(
1574
48.1k
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1575
48.1k
        cb(res.value);
1576
48.1k
        it = detail::make_string_view_iterator(input, res.iterator);
1577
48.1k
    }
1578
40.4k
}
void scn::v4::impl::for_each_code_point<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v4::impl::function_ref<void (char32_t), void (char32_t)>)
Line
Count
Source
1569
3.44k
{
1570
    // TODO: Could be optimized by being eager
1571
3.44k
    auto it = input.begin();
1572
12.3k
    while (it != input.end()) {
1573
8.87k
        auto res = get_next_code_point(
1574
8.87k
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1575
8.87k
        cb(res.value);
1576
8.87k
        it = detail::make_string_view_iterator(input, res.iterator);
1577
8.87k
    }
1578
3.44k
}
1579
1580
template <typename CharT>
1581
constexpr void for_each_code_point_valid(std::basic_string_view<CharT> input,
1582
                                         function_ref<void(char32_t)> cb)
1583
{
1584
    auto it = input.begin();
1585
    while (it != input.end()) {
1586
        auto res = get_next_code_point_valid(
1587
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1588
        cb(res.value);
1589
        it = detail::make_string_view_iterator(input, res.iterator);
1590
    }
1591
}
1592
1593
/////////////////////////////////////////////////////////////////
1594
// contiguous_range_factory
1595
/////////////////////////////////////////////////////////////////
1596
1597
template <typename View>
1598
class take_width_view;
1599
1600
template <typename CharT>
1601
struct string_view_wrapper {
1602
    using char_type = CharT;
1603
    using string_type = std::basic_string<CharT>;
1604
    using string_view_type = std::basic_string_view<CharT>;
1605
1606
    constexpr string_view_wrapper() = default;
1607
1608
    template <typename Range,
1609
              std::enable_if_t<ranges::borrowed_range<Range> &&
1610
                               ranges::contiguous_range<Range> &&
1611
                               ranges::sized_range<Range>>* = nullptr>
1612
49.6k
    constexpr string_view_wrapper(Range&& r) : sv(ranges::data(r), r.size())
1613
49.6k
    {
1614
49.6k
    }
_ZN3scn2v44impl19string_view_wrapperIcEC2INS0_6ranges6detail9subrange_8subrangeIPKcSA_EETnPNSt3__19enable_ifIXaaaasr6rangesE14borrowed_rangeIT_Esr6rangesE16contiguous_rangeISE_Esr6rangesE11sized_rangeISE_EEvE4typeELPv0EEEOSE_
Line
Count
Source
1612
12.2k
    constexpr string_view_wrapper(Range&& r) : sv(ranges::data(r), r.size())
1613
12.2k
    {
1614
12.2k
    }
_ZN3scn2v44impl19string_view_wrapperIcEC2IRNS0_6ranges6detail9subrange_8subrangeIPKcSA_EETnPNSt3__19enable_ifIXaaaasr6rangesE14borrowed_rangeIT_Esr6rangesE16contiguous_rangeISF_Esr6rangesE11sized_rangeISF_EEvE4typeELPv0EEEOSF_
Line
Count
Source
1612
18.8k
    constexpr string_view_wrapper(Range&& r) : sv(ranges::data(r), r.size())
1613
18.8k
    {
1614
18.8k
    }
_ZN3scn2v44impl19string_view_wrapperIwEC2INS0_6ranges6detail9subrange_8subrangeIPKwSA_EETnPNSt3__19enable_ifIXaaaasr6rangesE14borrowed_rangeIT_Esr6rangesE16contiguous_rangeISE_Esr6rangesE11sized_rangeISE_EEvE4typeELPv0EEEOSE_
Line
Count
Source
1612
9.79k
    constexpr string_view_wrapper(Range&& r) : sv(ranges::data(r), r.size())
1613
9.79k
    {
1614
9.79k
    }
_ZN3scn2v44impl19string_view_wrapperIcEC2IRNSt3__117basic_string_viewIcNS5_11char_traitsIcEEEETnPNS5_9enable_ifIXaaaasr6rangesE14borrowed_rangeIT_Esr6rangesE16contiguous_rangeISC_Esr6rangesE11sized_rangeISC_EEvE4typeELPv0EEEOSC_
Line
Count
Source
1612
8.82k
    constexpr string_view_wrapper(Range&& r) : sv(ranges::data(r), r.size())
1613
8.82k
    {
1614
8.82k
    }
1615
1616
    template <typename Range,
1617
              std::enable_if_t<ranges::borrowed_range<Range> &&
1618
                               ranges::contiguous_range<Range> &&
1619
                               ranges::sized_range<Range>>* = nullptr>
1620
    void assign(Range&& r)
1621
    {
1622
        sv = string_view_type{ranges::data(r), r.size()};
1623
    }
1624
1625
    constexpr auto view() const
1626
81.4k
    {
1627
81.4k
        return sv;
1628
81.4k
    }
scn::v4::impl::string_view_wrapper<char>::view() const
Line
Count
Source
1626
69.8k
    {
1627
69.8k
        return sv;
1628
69.8k
    }
scn::v4::impl::string_view_wrapper<wchar_t>::view() const
Line
Count
Source
1626
11.5k
    {
1627
11.5k
        return sv;
1628
11.5k
    }
1629
1630
    constexpr bool stores_allocated_string() const
1631
0
    {
1632
0
        return false;
1633
0
    }
Unexecuted instantiation: scn::v4::impl::string_view_wrapper<char>::stores_allocated_string() const
Unexecuted instantiation: scn::v4::impl::string_view_wrapper<wchar_t>::stores_allocated_string() const
1634
1635
    [[noreturn]] string_type get_allocated_string() const
1636
    {
1637
        SCN_EXPECT(false);
1638
        SCN_UNREACHABLE;
1639
    }
1640
1641
    string_view_type sv;
1642
};
1643
1644
template <typename Range>
1645
string_view_wrapper(Range)
1646
    -> string_view_wrapper<detail::char_t<detail::remove_cvref_t<Range>>>;
1647
1648
template <typename CharT>
1649
class contiguous_range_factory {
1650
public:
1651
    using char_type = CharT;
1652
    using string_type = std::basic_string<CharT>;
1653
    using string_view_type = std::basic_string_view<CharT>;
1654
1655
4.84k
    contiguous_range_factory() = default;
scn::v4::impl::contiguous_range_factory<char>::contiguous_range_factory()
Line
Count
Source
1655
2.60k
    contiguous_range_factory() = default;
scn::v4::impl::contiguous_range_factory<wchar_t>::contiguous_range_factory()
Line
Count
Source
1655
2.24k
    contiguous_range_factory() = default;
1656
1657
    template <typename Range,
1658
              std::enable_if_t<ranges::forward_range<Range>>* = nullptr>
1659
    contiguous_range_factory(Range&& range)
1660
2.97k
    {
1661
2.97k
        emplace_range(SCN_FWD(range));
1662
2.97k
    }
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIcEC2INS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEESG_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEOSK_
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIcEC2INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorESC_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEOSG_
_ZN3scn2v44impl24contiguous_range_factoryIcEC2INS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EESD_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEOSH_
Line
Count
Source
1660
2.16k
    {
1661
2.16k
        emplace_range(SCN_FWD(range));
1662
2.16k
    }
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIwEC2INS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEESG_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEOSK_
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIwEC2INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorESC_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEOSG_
_ZN3scn2v44impl24contiguous_range_factoryIwEC2INS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EESD_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEOSH_
Line
Count
Source
1660
806
    {
1661
806
        emplace_range(SCN_FWD(range));
1662
806
    }
1663
1664
    contiguous_range_factory(string_view_wrapper<CharT> svw)
1665
        : m_storage(std::nullopt), m_view(svw.view())
1666
    {
1667
    }
1668
1669
    contiguous_range_factory(const contiguous_range_factory&) = delete;
1670
    contiguous_range_factory& operator=(const contiguous_range_factory&) =
1671
        delete;
1672
1673
    contiguous_range_factory(contiguous_range_factory&& other)
1674
        : m_storage(SCN_MOVE(other.m_storage))
1675
    {
1676
        if (m_storage) {
1677
            m_view = *m_storage;
1678
        }
1679
        else {
1680
            m_view = other.m_view;
1681
        }
1682
    }
1683
    contiguous_range_factory& operator=(contiguous_range_factory&& other)
1684
    {
1685
        m_storage = SCN_MOVE(other.m_storage);
1686
        if (m_storage) {
1687
            m_view = *m_storage;
1688
        }
1689
        else {
1690
            m_view = other.m_view;
1691
        }
1692
        return *this;
1693
    }
1694
1695
7.82k
    ~contiguous_range_factory() = default;
scn::v4::impl::contiguous_range_factory<char>::~contiguous_range_factory()
Line
Count
Source
1695
4.76k
    ~contiguous_range_factory() = default;
scn::v4::impl::contiguous_range_factory<wchar_t>::~contiguous_range_factory()
Line
Count
Source
1695
3.05k
    ~contiguous_range_factory() = default;
1696
1697
    template <typename Range,
1698
              std::enable_if_t<ranges::forward_range<Range>>* = nullptr>
1699
    void assign(Range&& range)
1700
1.93k
    {
1701
1.93k
        emplace_range(SCN_FWD(range));
1702
1.93k
    }
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIcE6assignINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEESG_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSK_
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIcE6assignINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorESC_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSG_
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIcE6assignINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EESD_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSH_
_ZN3scn2v44impl24contiguous_range_factoryIcE6assignINS0_6ranges6detail9subrange_8subrangeIPKcSA_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSE_
Line
Count
Source
1700
922
    {
1701
922
        emplace_range(SCN_FWD(range));
1702
922
    }
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIwE6assignINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEESG_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSK_
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIwE6assignINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorESC_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSG_
_ZN3scn2v44impl24contiguous_range_factoryIwE6assignINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EESD_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSH_
Line
Count
Source
1700
20
    {
1701
20
        emplace_range(SCN_FWD(range));
1702
20
    }
_ZN3scn2v44impl24contiguous_range_factoryIwE6assignINS0_6ranges6detail9subrange_8subrangeIPKwSA_EETnPNSt3__19enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSE_
Line
Count
Source
1700
918
    {
1701
918
        emplace_range(SCN_FWD(range));
1702
918
    }
Unexecuted instantiation: _ZN3scn2v44impl24contiguous_range_factoryIcE6assignINSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEETnPNS5_9enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSD_
_ZN3scn2v44impl24contiguous_range_factoryIwE6assignINSt3__112basic_stringIwNS5_11char_traitsIwEENS5_9allocatorIwEEEETnPNS5_9enable_ifIXsr6rangesE13forward_rangeIT_EEvE4typeELPv0EEEvOSD_
Line
Count
Source
1700
72
    {
1701
72
        emplace_range(SCN_FWD(range));
1702
72
    }
1703
1704
    string_view_type view() const
1705
7.70k
    {
1706
7.70k
        return m_view;
1707
7.70k
    }
scn::v4::impl::contiguous_range_factory<char>::view() const
Line
Count
Source
1705
4.49k
    {
1706
4.49k
        return m_view;
1707
4.49k
    }
scn::v4::impl::contiguous_range_factory<wchar_t>::view() const
Line
Count
Source
1705
3.21k
    {
1706
3.21k
        return m_view;
1707
3.21k
    }
1708
1709
    constexpr bool stores_allocated_string() const
1710
1.80k
    {
1711
1.80k
        return m_storage.has_value();
1712
1.80k
    }
scn::v4::impl::contiguous_range_factory<char>::stores_allocated_string() const
Line
Count
Source
1710
964
    {
1711
964
        return m_storage.has_value();
1712
964
    }
scn::v4::impl::contiguous_range_factory<wchar_t>::stores_allocated_string() const
Line
Count
Source
1710
838
    {
1711
838
        return m_storage.has_value();
1712
838
    }
1713
1714
    string_type& get_allocated_string() &
1715
918
    {
1716
918
        SCN_EXPECT(stores_allocated_string());
1717
918
        return *m_storage;
1718
918
    }
scn::v4::impl::contiguous_range_factory<char>::get_allocated_string() &
Line
Count
Source
1715
482
    {
1716
482
        SCN_EXPECT(stores_allocated_string());
1717
482
        return *m_storage;
1718
482
    }
scn::v4::impl::contiguous_range_factory<wchar_t>::get_allocated_string() &
Line
Count
Source
1715
436
    {
1716
436
        SCN_EXPECT(stores_allocated_string());
1717
436
        return *m_storage;
1718
436
    }
1719
    const string_type& get_allocated_string() const&
1720
    {
1721
        SCN_EXPECT(stores_allocated_string());
1722
        return *m_storage;
1723
    }
1724
    string_type&& get_allocated_string() &&
1725
    {
1726
        SCN_EXPECT(stores_allocated_string());
1727
        return *m_storage;
1728
    }
1729
1730
    string_type& make_into_allocated_string()
1731
0
    {
1732
0
        if (stores_allocated_string()) {
1733
0
            return get_allocated_string();
1734
0
        }
1735
1736
0
        auto& str = m_storage.emplace(m_view.data(), m_view.size());
1737
0
        m_view = string_view_type{str.data(), str.size()};
1738
0
        return str;
1739
0
    }
Unexecuted instantiation: scn::v4::impl::contiguous_range_factory<char>::make_into_allocated_string()
Unexecuted instantiation: scn::v4::impl::contiguous_range_factory<wchar_t>::make_into_allocated_string()
1740
1741
private:
1742
    template <typename Range>
1743
    void emplace_range(Range&& range)
1744
4.90k
    {
1745
4.90k
        using value_t = ranges::range_value_t<Range>;
1746
1747
        if constexpr (ranges::borrowed_range<Range> &&
1748
                      ranges::contiguous_range<Range> &&
1749
1.84k
                      ranges::sized_range<Range>) {
1750
1.84k
            m_storage.reset();
1751
1.84k
            m_view = string_view_type{ranges::data(range), range.size()};
1752
        }
1753
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1754
72
                                          std::basic_string<CharT>>) {
1755
72
            m_storage.emplace(SCN_FWD(range));
1756
72
            m_view = string_view_type{m_storage->data(), m_storage->size()};
1757
        }
1758
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1759
                                          typename detail::basic_scan_buffer<
1760
                                              value_t>::forward_iterator> &&
1761
0
                           ranges::common_range<Range>) {
1762
0
            auto beg_seg = range.begin().contiguous_segment();
1763
0
            auto end_seg = range.end().contiguous_segment();
1764
0
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1765
0
                             detail::to_address(end_seg.end()))) {
1766
0
                auto& str = m_storage.emplace();
1767
0
                str.reserve(static_cast<std::size_t>(range.end().position() -
1768
0
                                                     range.begin().position()));
1769
0
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1770
0
                m_view = string_view_type{str.data(), str.size()};
1771
0
                return;
1772
0
            }
1773
1774
0
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1775
0
                                                            end_seg.data());
1776
0
            m_storage.reset();
1777
        }
1778
2.99k
        else {
1779
2.99k
            auto& str = m_storage.emplace();
1780
            if constexpr (ranges::sized_range<Range>) {
1781
                str.reserve(range.size());
1782
            }
1783
2.99k
            if constexpr (ranges::common_range<Range>) {
1784
2.99k
                std::copy(ranges::begin(range), ranges::end(range),
1785
2.99k
                          std::back_inserter(str));
1786
            }
1787
            else {
1788
                for (auto it = ranges::begin(range); it != ranges::end(range);
1789
                     ++it) {
1790
                    str.push_back(*it);
1791
                }
1792
            }
1793
2.99k
            m_view = string_view_type{str.data(), str.size()};
1794
2.99k
        }
1795
4.90k
    }
Unexecuted instantiation: void scn::v4::impl::contiguous_range_factory<char>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: void scn::v4::impl::contiguous_range_factory<char>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
void scn::v4::impl::contiguous_range_factory<char>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
1744
2.16k
    {
1745
2.16k
        using value_t = ranges::range_value_t<Range>;
1746
1747
        if constexpr (ranges::borrowed_range<Range> &&
1748
                      ranges::contiguous_range<Range> &&
1749
                      ranges::sized_range<Range>) {
1750
            m_storage.reset();
1751
            m_view = string_view_type{ranges::data(range), range.size()};
1752
        }
1753
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1754
                                          std::basic_string<CharT>>) {
1755
            m_storage.emplace(SCN_FWD(range));
1756
            m_view = string_view_type{m_storage->data(), m_storage->size()};
1757
        }
1758
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1759
                                          typename detail::basic_scan_buffer<
1760
                                              value_t>::forward_iterator> &&
1761
                           ranges::common_range<Range>) {
1762
            auto beg_seg = range.begin().contiguous_segment();
1763
            auto end_seg = range.end().contiguous_segment();
1764
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1765
                             detail::to_address(end_seg.end()))) {
1766
                auto& str = m_storage.emplace();
1767
                str.reserve(static_cast<std::size_t>(range.end().position() -
1768
                                                     range.begin().position()));
1769
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1770
                m_view = string_view_type{str.data(), str.size()};
1771
                return;
1772
            }
1773
1774
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1775
                                                            end_seg.data());
1776
            m_storage.reset();
1777
        }
1778
2.16k
        else {
1779
2.16k
            auto& str = m_storage.emplace();
1780
            if constexpr (ranges::sized_range<Range>) {
1781
                str.reserve(range.size());
1782
            }
1783
2.16k
            if constexpr (ranges::common_range<Range>) {
1784
2.16k
                std::copy(ranges::begin(range), ranges::end(range),
1785
2.16k
                          std::back_inserter(str));
1786
            }
1787
            else {
1788
                for (auto it = ranges::begin(range); it != ranges::end(range);
1789
                     ++it) {
1790
                    str.push_back(*it);
1791
                }
1792
            }
1793
2.16k
            m_view = string_view_type{str.data(), str.size()};
1794
2.16k
        }
1795
2.16k
    }
void scn::v4::impl::contiguous_range_factory<char>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1744
922
    {
1745
922
        using value_t = ranges::range_value_t<Range>;
1746
1747
        if constexpr (ranges::borrowed_range<Range> &&
1748
                      ranges::contiguous_range<Range> &&
1749
922
                      ranges::sized_range<Range>) {
1750
922
            m_storage.reset();
1751
922
            m_view = string_view_type{ranges::data(range), range.size()};
1752
        }
1753
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1754
                                          std::basic_string<CharT>>) {
1755
            m_storage.emplace(SCN_FWD(range));
1756
            m_view = string_view_type{m_storage->data(), m_storage->size()};
1757
        }
1758
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1759
                                          typename detail::basic_scan_buffer<
1760
                                              value_t>::forward_iterator> &&
1761
                           ranges::common_range<Range>) {
1762
            auto beg_seg = range.begin().contiguous_segment();
1763
            auto end_seg = range.end().contiguous_segment();
1764
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1765
                             detail::to_address(end_seg.end()))) {
1766
                auto& str = m_storage.emplace();
1767
                str.reserve(static_cast<std::size_t>(range.end().position() -
1768
                                                     range.begin().position()));
1769
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1770
                m_view = string_view_type{str.data(), str.size()};
1771
                return;
1772
            }
1773
1774
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1775
                                                            end_seg.data());
1776
            m_storage.reset();
1777
        }
1778
        else {
1779
            auto& str = m_storage.emplace();
1780
            if constexpr (ranges::sized_range<Range>) {
1781
                str.reserve(range.size());
1782
            }
1783
            if constexpr (ranges::common_range<Range>) {
1784
                std::copy(ranges::begin(range), ranges::end(range),
1785
                          std::back_inserter(str));
1786
            }
1787
            else {
1788
                for (auto it = ranges::begin(range); it != ranges::end(range);
1789
                     ++it) {
1790
                    str.push_back(*it);
1791
                }
1792
            }
1793
            m_view = string_view_type{str.data(), str.size()};
1794
        }
1795
922
    }
Unexecuted instantiation: void scn::v4::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: void scn::v4::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
void scn::v4::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
1744
826
    {
1745
826
        using value_t = ranges::range_value_t<Range>;
1746
1747
        if constexpr (ranges::borrowed_range<Range> &&
1748
                      ranges::contiguous_range<Range> &&
1749
                      ranges::sized_range<Range>) {
1750
            m_storage.reset();
1751
            m_view = string_view_type{ranges::data(range), range.size()};
1752
        }
1753
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1754
                                          std::basic_string<CharT>>) {
1755
            m_storage.emplace(SCN_FWD(range));
1756
            m_view = string_view_type{m_storage->data(), m_storage->size()};
1757
        }
1758
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1759
                                          typename detail::basic_scan_buffer<
1760
                                              value_t>::forward_iterator> &&
1761
                           ranges::common_range<Range>) {
1762
            auto beg_seg = range.begin().contiguous_segment();
1763
            auto end_seg = range.end().contiguous_segment();
1764
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1765
                             detail::to_address(end_seg.end()))) {
1766
                auto& str = m_storage.emplace();
1767
                str.reserve(static_cast<std::size_t>(range.end().position() -
1768
                                                     range.begin().position()));
1769
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1770
                m_view = string_view_type{str.data(), str.size()};
1771
                return;
1772
            }
1773
1774
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1775
                                                            end_seg.data());
1776
            m_storage.reset();
1777
        }
1778
826
        else {
1779
826
            auto& str = m_storage.emplace();
1780
            if constexpr (ranges::sized_range<Range>) {
1781
                str.reserve(range.size());
1782
            }
1783
826
            if constexpr (ranges::common_range<Range>) {
1784
826
                std::copy(ranges::begin(range), ranges::end(range),
1785
826
                          std::back_inserter(str));
1786
            }
1787
            else {
1788
                for (auto it = ranges::begin(range); it != ranges::end(range);
1789
                     ++it) {
1790
                    str.push_back(*it);
1791
                }
1792
            }
1793
826
            m_view = string_view_type{str.data(), str.size()};
1794
826
        }
1795
826
    }
void scn::v4::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1744
918
    {
1745
918
        using value_t = ranges::range_value_t<Range>;
1746
1747
        if constexpr (ranges::borrowed_range<Range> &&
1748
                      ranges::contiguous_range<Range> &&
1749
918
                      ranges::sized_range<Range>) {
1750
918
            m_storage.reset();
1751
918
            m_view = string_view_type{ranges::data(range), range.size()};
1752
        }
1753
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1754
                                          std::basic_string<CharT>>) {
1755
            m_storage.emplace(SCN_FWD(range));
1756
            m_view = string_view_type{m_storage->data(), m_storage->size()};
1757
        }
1758
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1759
                                          typename detail::basic_scan_buffer<
1760
                                              value_t>::forward_iterator> &&
1761
                           ranges::common_range<Range>) {
1762
            auto beg_seg = range.begin().contiguous_segment();
1763
            auto end_seg = range.end().contiguous_segment();
1764
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1765
                             detail::to_address(end_seg.end()))) {
1766
                auto& str = m_storage.emplace();
1767
                str.reserve(static_cast<std::size_t>(range.end().position() -
1768
                                                     range.begin().position()));
1769
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1770
                m_view = string_view_type{str.data(), str.size()};
1771
                return;
1772
            }
1773
1774
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1775
                                                            end_seg.data());
1776
            m_storage.reset();
1777
        }
1778
        else {
1779
            auto& str = m_storage.emplace();
1780
            if constexpr (ranges::sized_range<Range>) {
1781
                str.reserve(range.size());
1782
            }
1783
            if constexpr (ranges::common_range<Range>) {
1784
                std::copy(ranges::begin(range), ranges::end(range),
1785
                          std::back_inserter(str));
1786
            }
1787
            else {
1788
                for (auto it = ranges::begin(range); it != ranges::end(range);
1789
                     ++it) {
1790
                    str.push_back(*it);
1791
                }
1792
            }
1793
            m_view = string_view_type{str.data(), str.size()};
1794
        }
1795
918
    }
Unexecuted instantiation: void scn::v4::impl::contiguous_range_factory<char>::emplace_range<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&)
void scn::v4::impl::contiguous_range_factory<wchar_t>::emplace_range<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&&)
Line
Count
Source
1744
72
    {
1745
72
        using value_t = ranges::range_value_t<Range>;
1746
1747
        if constexpr (ranges::borrowed_range<Range> &&
1748
                      ranges::contiguous_range<Range> &&
1749
                      ranges::sized_range<Range>) {
1750
            m_storage.reset();
1751
            m_view = string_view_type{ranges::data(range), range.size()};
1752
        }
1753
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1754
72
                                          std::basic_string<CharT>>) {
1755
72
            m_storage.emplace(SCN_FWD(range));
1756
72
            m_view = string_view_type{m_storage->data(), m_storage->size()};
1757
        }
1758
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1759
                                          typename detail::basic_scan_buffer<
1760
                                              value_t>::forward_iterator> &&
1761
                           ranges::common_range<Range>) {
1762
            auto beg_seg = range.begin().contiguous_segment();
1763
            auto end_seg = range.end().contiguous_segment();
1764
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1765
                             detail::to_address(end_seg.end()))) {
1766
                auto& str = m_storage.emplace();
1767
                str.reserve(static_cast<std::size_t>(range.end().position() -
1768
                                                     range.begin().position()));
1769
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1770
                m_view = string_view_type{str.data(), str.size()};
1771
                return;
1772
            }
1773
1774
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1775
                                                            end_seg.data());
1776
            m_storage.reset();
1777
        }
1778
        else {
1779
            auto& str = m_storage.emplace();
1780
            if constexpr (ranges::sized_range<Range>) {
1781
                str.reserve(range.size());
1782
            }
1783
            if constexpr (ranges::common_range<Range>) {
1784
                std::copy(ranges::begin(range), ranges::end(range),
1785
                          std::back_inserter(str));
1786
            }
1787
            else {
1788
                for (auto it = ranges::begin(range); it != ranges::end(range);
1789
                     ++it) {
1790
                    str.push_back(*it);
1791
                }
1792
            }
1793
            m_view = string_view_type{str.data(), str.size()};
1794
        }
1795
72
    }
1796
1797
    std::optional<string_type> m_storage{std::nullopt};
1798
    string_view_type m_view{};
1799
};
1800
1801
template <typename Range>
1802
contiguous_range_factory(Range)
1803
    -> contiguous_range_factory<detail::char_t<detail::remove_cvref_t<Range>>>;
1804
1805
template <typename Range>
1806
auto make_contiguous_buffer(Range&& range)
1807
52.6k
{
1808
    if constexpr (ranges::borrowed_range<Range> &&
1809
                  ranges::contiguous_range<Range> &&
1810
49.6k
                  ranges::sized_range<Range>) {
1811
49.6k
        return string_view_wrapper{SCN_FWD(range)};
1812
    }
1813
2.97k
    else {
1814
2.97k
        return contiguous_range_factory{SCN_FWD(range)};
1815
2.97k
    }
1816
52.6k
}
Unexecuted instantiation: auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
1807
2.16k
{
1808
    if constexpr (ranges::borrowed_range<Range> &&
1809
                  ranges::contiguous_range<Range> &&
1810
                  ranges::sized_range<Range>) {
1811
        return string_view_wrapper{SCN_FWD(range)};
1812
    }
1813
2.16k
    else {
1814
2.16k
        return contiguous_range_factory{SCN_FWD(range)};
1815
2.16k
    }
1816
2.16k
}
auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1807
12.2k
{
1808
    if constexpr (ranges::borrowed_range<Range> &&
1809
                  ranges::contiguous_range<Range> &&
1810
12.2k
                  ranges::sized_range<Range>) {
1811
12.2k
        return string_view_wrapper{SCN_FWD(range)};
1812
    }
1813
    else {
1814
        return contiguous_range_factory{SCN_FWD(range)};
1815
    }
1816
12.2k
}
auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&)
Line
Count
Source
1807
18.8k
{
1808
    if constexpr (ranges::borrowed_range<Range> &&
1809
                  ranges::contiguous_range<Range> &&
1810
18.8k
                  ranges::sized_range<Range>) {
1811
18.8k
        return string_view_wrapper{SCN_FWD(range)};
1812
    }
1813
    else {
1814
        return contiguous_range_factory{SCN_FWD(range)};
1815
    }
1816
18.8k
}
Unexecuted instantiation: auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
1807
806
{
1808
    if constexpr (ranges::borrowed_range<Range> &&
1809
                  ranges::contiguous_range<Range> &&
1810
                  ranges::sized_range<Range>) {
1811
        return string_view_wrapper{SCN_FWD(range)};
1812
    }
1813
806
    else {
1814
806
        return contiguous_range_factory{SCN_FWD(range)};
1815
806
    }
1816
806
}
auto scn::v4::impl::make_contiguous_buffer<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1807
9.79k
{
1808
    if constexpr (ranges::borrowed_range<Range> &&
1809
                  ranges::contiguous_range<Range> &&
1810
9.79k
                  ranges::sized_range<Range>) {
1811
9.79k
        return string_view_wrapper{SCN_FWD(range)};
1812
    }
1813
    else {
1814
        return contiguous_range_factory{SCN_FWD(range)};
1815
    }
1816
9.79k
}
auto scn::v4::impl::make_contiguous_buffer<std::__1::basic_string_view<char, std::__1::char_traits<char> >&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
1807
8.82k
{
1808
    if constexpr (ranges::borrowed_range<Range> &&
1809
                  ranges::contiguous_range<Range> &&
1810
8.82k
                  ranges::sized_range<Range>) {
1811
8.82k
        return string_view_wrapper{SCN_FWD(range)};
1812
    }
1813
    else {
1814
        return contiguous_range_factory{SCN_FWD(range)};
1815
    }
1816
8.82k
}
1817
}  // namespace impl
1818
1819
/////////////////////////////////////////////////////////////////
1820
// locale stuff
1821
/////////////////////////////////////////////////////////////////
1822
1823
#if !SCN_DISABLE_LOCALE
1824
1825
namespace detail {
1826
extern template locale_ref::locale_ref(const std::locale&);
1827
extern template auto locale_ref::get() const -> std::locale;
1828
}  // namespace detail
1829
1830
namespace impl {
1831
template <typename Facet>
1832
const Facet& get_facet(detail::locale_ref loc)
1833
{
1834
    auto stdloc = loc.get<std::locale>();
1835
    SCN_EXPECT(std::has_facet<Facet>(stdloc));
1836
    return std::use_facet<Facet>(stdloc);
1837
}
1838
1839
template <typename Facet>
1840
const Facet& get_or_add_facet(std::locale& stdloc)
1841
242
{
1842
242
    if (std::has_facet<Facet>(stdloc)) {
1843
242
        return std::use_facet<Facet>(stdloc);
1844
242
    }
1845
0
    stdloc = std::locale(stdloc, new Facet{});
1846
0
    return std::use_facet<Facet>(stdloc);
1847
242
}
std::__1::numpunct<char> const& scn::v4::impl::get_or_add_facet<std::__1::numpunct<char> >(std::__1::locale&)
Line
Count
Source
1841
84
{
1842
84
    if (std::has_facet<Facet>(stdloc)) {
1843
84
        return std::use_facet<Facet>(stdloc);
1844
84
    }
1845
0
    stdloc = std::locale(stdloc, new Facet{});
1846
0
    return std::use_facet<Facet>(stdloc);
1847
84
}
std::__1::numpunct<wchar_t> const& scn::v4::impl::get_or_add_facet<std::__1::numpunct<wchar_t> >(std::__1::locale&)
Line
Count
Source
1841
158
{
1842
158
    if (std::has_facet<Facet>(stdloc)) {
1843
158
        return std::use_facet<Facet>(stdloc);
1844
158
    }
1845
0
    stdloc = std::locale(stdloc, new Facet{});
1846
0
    return std::use_facet<Facet>(stdloc);
1847
158
}
1848
1849
class clocale_restorer {
1850
public:
1851
92
    clocale_restorer(int cat) : m_category(cat)
1852
92
    {
1853
92
        const auto loc = std::setlocale(cat, nullptr);
1854
92
        std::strcpy(m_locbuf, loc);
1855
92
    }
1856
    ~clocale_restorer()
1857
92
    {
1858
        // Restore locale to what it was before
1859
92
        std::setlocale(m_category, m_locbuf);
1860
92
    }
1861
1862
    clocale_restorer(const clocale_restorer&) = delete;
1863
    clocale_restorer(clocale_restorer&&) = delete;
1864
    clocale_restorer& operator=(const clocale_restorer&) = delete;
1865
    clocale_restorer& operator=(clocale_restorer&&) = delete;
1866
1867
private:
1868
    // For whatever reason, this cannot be stored in the heap if
1869
    // setlocale hasn't been called before, or msan errors with
1870
    // 'use-of-unitialized-value' when resetting the locale
1871
    // back. POSIX specifies that the content of loc may not be
1872
    // static, so we need to save it ourselves
1873
    char m_locbuf[64] = {0};
1874
1875
    int m_category;
1876
};
1877
1878
class set_clocale_classic_guard {
1879
public:
1880
92
    set_clocale_classic_guard(int cat) : m_restorer(cat)
1881
92
    {
1882
92
        std::setlocale(cat, "C");
1883
92
    }
1884
1885
private:
1886
    clocale_restorer m_restorer;
1887
};
1888
}  // namespace impl
1889
1890
namespace impl {
1891
struct classic_with_thsep_tag {};
1892
1893
template <typename CharT>
1894
struct localized_number_formatting_options {
1895
2.42k
    localized_number_formatting_options() = default;
scn::v4::impl::localized_number_formatting_options<char>::localized_number_formatting_options()
Line
Count
Source
1895
1.30k
    localized_number_formatting_options() = default;
scn::v4::impl::localized_number_formatting_options<wchar_t>::localized_number_formatting_options()
Line
Count
Source
1895
1.12k
    localized_number_formatting_options() = default;
1896
1897
    localized_number_formatting_options(classic_with_thsep_tag)
1898
0
    {
1899
0
        grouping = "\3";
1900
0
        thousands_sep = CharT{','};
1901
0
    }
Unexecuted instantiation: scn::v4::impl::localized_number_formatting_options<char>::localized_number_formatting_options(scn::v4::impl::classic_with_thsep_tag)
Unexecuted instantiation: scn::v4::impl::localized_number_formatting_options<wchar_t>::localized_number_formatting_options(scn::v4::impl::classic_with_thsep_tag)
1902
1903
    localized_number_formatting_options(detail::locale_ref loc)
1904
194
    {
1905
194
        auto stdloc = loc.get<std::locale>();
1906
194
        const auto& numpunct = get_or_add_facet<std::numpunct<CharT>>(stdloc);
1907
194
        grouping = numpunct.grouping();
1908
194
        thousands_sep =
1909
194
            grouping.length() != 0 ? numpunct.thousands_sep() : CharT{0};
1910
194
        decimal_point = numpunct.decimal_point();
1911
194
    }
scn::v4::impl::localized_number_formatting_options<char>::localized_number_formatting_options(scn::v4::detail::locale_ref)
Line
Count
Source
1904
62
    {
1905
62
        auto stdloc = loc.get<std::locale>();
1906
62
        const auto& numpunct = get_or_add_facet<std::numpunct<CharT>>(stdloc);
1907
62
        grouping = numpunct.grouping();
1908
62
        thousands_sep =
1909
62
            grouping.length() != 0 ? numpunct.thousands_sep() : CharT{0};
1910
62
        decimal_point = numpunct.decimal_point();
1911
62
    }
scn::v4::impl::localized_number_formatting_options<wchar_t>::localized_number_formatting_options(scn::v4::detail::locale_ref)
Line
Count
Source
1904
132
    {
1905
132
        auto stdloc = loc.get<std::locale>();
1906
132
        const auto& numpunct = get_or_add_facet<std::numpunct<CharT>>(stdloc);
1907
132
        grouping = numpunct.grouping();
1908
132
        thousands_sep =
1909
132
            grouping.length() != 0 ? numpunct.thousands_sep() : CharT{0};
1910
132
        decimal_point = numpunct.decimal_point();
1911
132
    }
1912
1913
    std::string grouping{};
1914
    CharT thousands_sep{0};
1915
    CharT decimal_point{CharT{'.'}};
1916
};
1917
}  // namespace impl
1918
1919
#else
1920
1921
namespace impl {
1922
struct set_clocale_classic_guard {
1923
    set_clocale_classic_guard(int) {}
1924
};
1925
1926
struct classic_with_thsep_tag {};
1927
1928
template <typename CharT>
1929
struct localized_number_formatting_options {
1930
    localized_number_formatting_options() = default;
1931
1932
    localized_number_formatting_options(classic_with_thsep_tag)
1933
    {
1934
        grouping = "\3";
1935
        thousands_sep = CharT{','};
1936
    }
1937
1938
    std::string grouping{};
1939
    CharT thousands_sep{0};
1940
    CharT decimal_point{CharT{'.'}};
1941
};
1942
}  // namespace impl
1943
1944
#endif  // !SCN_DISABLE_LOCALE
1945
1946
/////////////////////////////////////////////////////////////////
1947
// Range reading algorithms
1948
/////////////////////////////////////////////////////////////////
1949
1950
namespace impl {
1951
1952
std::string_view::iterator find_classic_space_narrow_fast(
1953
    std::string_view source);
1954
1955
std::string_view::iterator find_classic_nonspace_narrow_fast(
1956
    std::string_view source);
1957
1958
std::string_view::iterator find_nondecimal_digit_narrow_fast(
1959
    std::string_view source);
1960
1961
template <typename Range>
1962
auto read_all(Range range) -> ranges::const_iterator_t<Range>
1963
2.09k
{
1964
2.09k
    return ranges::next(range.begin(), range.end());
1965
2.09k
}
_ZN3scn2v44impl8read_allINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
1963
922
{
1964
922
    return ranges::next(range.begin(), range.end());
1965
922
}
Unexecuted instantiation: _ZN3scn2v44impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
_ZN3scn2v44impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
1963
174
{
1964
174
    return ranges::next(range.begin(), range.end());
1965
174
}
_ZN3scn2v44impl8read_allINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
1963
916
{
1964
916
    return ranges::next(range.begin(), range.end());
1965
916
}
Unexecuted instantiation: _ZN3scn2v44impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
_ZN3scn2v44impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
1963
78
{
1964
78
    return ranges::next(range.begin(), range.end());
1965
78
}
1966
1967
template <typename Range>
1968
auto read_code_unit(Range range)
1969
    -> eof_expected<ranges::const_iterator_t<Range>>
1970
16.8k
{
1971
16.8k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1972
14
        return unexpected(e);
1973
14
    }
1974
1975
16.8k
    return ranges::next(range.begin());
1976
16.8k
}
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
_ZN3scn2v44impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
1970
2.41k
{
1971
2.41k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1972
0
        return unexpected(e);
1973
0
    }
1974
1975
2.41k
    return ranges::next(range.begin());
1976
2.41k
}
_ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
1970
40
{
1971
40
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1972
0
        return unexpected(e);
1973
0
    }
1974
1975
40
    return ranges::next(range.begin());
1976
40
}
_ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
1970
6.60k
{
1971
6.60k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1972
0
        return unexpected(e);
1973
0
    }
1974
1975
6.60k
    return ranges::next(range.begin());
1976
6.60k
}
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
_ZN3scn2v44impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
1970
1.31k
{
1971
1.31k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1972
0
        return unexpected(e);
1973
0
    }
1974
1975
1.31k
    return ranges::next(range.begin());
1976
1.31k
}
_ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
1970
110
{
1971
110
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1972
14
        return unexpected(e);
1973
14
    }
1974
1975
96
    return ranges::next(range.begin());
1976
110
}
_ZN3scn2v44impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
1970
6.40k
{
1971
6.40k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1972
0
        return unexpected(e);
1973
0
    }
1974
1975
6.40k
    return ranges::next(range.begin());
1976
6.40k
}
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEESB_
Unexecuted instantiation: _ZN3scn2v44impl14read_code_unitINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEESB_
1977
1978
template <typename Range>
1979
auto read_exactly_n_code_units(Range range, std::ptrdiff_t count)
1980
    -> eof_expected<ranges::const_iterator_t<Range>>
1981
52.4k
{
1982
52.4k
    SCN_EXPECT(count >= 0);
1983
1984
52.4k
    if constexpr (ranges::sized_range<Range>) {
1985
41.9k
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1986
41.9k
        if (sz < count) {
1987
718
            return unexpected(eof_error::eof);
1988
718
        }
1989
1990
41.2k
        return ranges::next(range.begin(), count);
1991
    }
1992
10.5k
    else {
1993
10.5k
        auto it = range.begin();
1994
10.5k
        if (guaranteed_minimum_size(range) >= static_cast<std::size_t>(count)) {
1995
0
            return ranges::next(it, count);
1996
0
        }
1997
1998
39.9k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1999
30.4k
            if (it == range.end()) {
2000
1.01k
                return unexpected(eof_error::eof);
2001
1.01k
            }
2002
30.4k
        }
2003
2004
9.48k
        return it;
2005
10.5k
    }
2006
52.4k
}
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_l
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_l
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_l
_ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_l
Line
Count
Source
1981
36.3k
{
1982
36.3k
    SCN_EXPECT(count >= 0);
1983
1984
36.3k
    if constexpr (ranges::sized_range<Range>) {
1985
36.3k
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1986
36.3k
        if (sz < count) {
1987
536
            return unexpected(eof_error::eof);
1988
536
        }
1989
1990
35.8k
        return ranges::next(range.begin(), count);
1991
    }
1992
    else {
1993
        auto it = range.begin();
1994
        if (guaranteed_minimum_size(range) >= static_cast<std::size_t>(count)) {
1995
            return ranges::next(it, count);
1996
        }
1997
1998
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1999
            if (it == range.end()) {
2000
                return unexpected(eof_error::eof);
2001
            }
2002
        }
2003
2004
        return it;
2005
    }
2006
36.3k
}
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESO_l
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESS_l
_ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_l
Line
Count
Source
1981
7.07k
{
1982
7.07k
    SCN_EXPECT(count >= 0);
1983
1984
    if constexpr (ranges::sized_range<Range>) {
1985
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1986
        if (sz < count) {
1987
            return unexpected(eof_error::eof);
1988
        }
1989
1990
        return ranges::next(range.begin(), count);
1991
    }
1992
7.07k
    else {
1993
7.07k
        auto it = range.begin();
1994
7.07k
        if (guaranteed_minimum_size(range) >= static_cast<std::size_t>(count)) {
1995
0
            return ranges::next(it, count);
1996
0
        }
1997
1998
26.1k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1999
19.3k
            if (it == range.end()) {
2000
332
                return unexpected(eof_error::eof);
2001
332
            }
2002
19.3k
        }
2003
2004
6.74k
        return it;
2005
7.07k
    }
2006
7.07k
}
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_l
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_l
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_l
_ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_l
Line
Count
Source
1981
5.59k
{
1982
5.59k
    SCN_EXPECT(count >= 0);
1983
1984
5.59k
    if constexpr (ranges::sized_range<Range>) {
1985
5.59k
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1986
5.59k
        if (sz < count) {
1987
182
            return unexpected(eof_error::eof);
1988
182
        }
1989
1990
5.41k
        return ranges::next(range.begin(), count);
1991
    }
1992
    else {
1993
        auto it = range.begin();
1994
        if (guaranteed_minimum_size(range) >= static_cast<std::size_t>(count)) {
1995
            return ranges::next(it, count);
1996
        }
1997
1998
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1999
            if (it == range.end()) {
2000
                return unexpected(eof_error::eof);
2001
            }
2002
        }
2003
2004
        return it;
2005
    }
2006
5.59k
}
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESO_l
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESS_l
_ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_l
Line
Count
Source
1981
890
{
1982
890
    SCN_EXPECT(count >= 0);
1983
1984
    if constexpr (ranges::sized_range<Range>) {
1985
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1986
        if (sz < count) {
1987
            return unexpected(eof_error::eof);
1988
        }
1989
1990
        return ranges::next(range.begin(), count);
1991
    }
1992
890
    else {
1993
890
        auto it = range.begin();
1994
890
        if (guaranteed_minimum_size(range) >= static_cast<std::size_t>(count)) {
1995
0
            return ranges::next(it, count);
1996
0
        }
1997
1998
2.76k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1999
2.10k
            if (it == range.end()) {
2000
230
                return unexpected(eof_error::eof);
2001
230
            }
2002
2.10k
        }
2003
2004
660
        return it;
2005
890
    }
2006
890
}
_ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_l
Line
Count
Source
1981
1.30k
{
1982
1.30k
    SCN_EXPECT(count >= 0);
1983
1984
    if constexpr (ranges::sized_range<Range>) {
1985
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1986
        if (sz < count) {
1987
            return unexpected(eof_error::eof);
1988
        }
1989
1990
        return ranges::next(range.begin(), count);
1991
    }
1992
1.30k
    else {
1993
1.30k
        auto it = range.begin();
1994
1.30k
        if (guaranteed_minimum_size(range) >= static_cast<std::size_t>(count)) {
1995
0
            return ranges::next(it, count);
1996
0
        }
1997
1998
5.08k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1999
3.92k
            if (it == range.end()) {
2000
144
                return unexpected(eof_error::eof);
2001
144
            }
2002
3.92k
        }
2003
2004
1.16k
        return it;
2005
1.30k
    }
2006
1.30k
}
_ZN3scn2v44impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_l
Line
Count
Source
1981
864
{
1982
864
    SCN_EXPECT(count >= 0);
1983
1984
    if constexpr (ranges::sized_range<Range>) {
1985
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1986
        if (sz < count) {
1987
            return unexpected(eof_error::eof);
1988
        }
1989
1990
        return ranges::next(range.begin(), count);
1991
    }
1992
864
    else {
1993
864
        auto it = range.begin();
1994
864
        if (guaranteed_minimum_size(range) >= static_cast<std::size_t>(count)) {
1995
0
            return ranges::next(it, count);
1996
0
        }
1997
1998
4.29k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1999
3.61k
            if (it == range.end()) {
2000
184
                return unexpected(eof_error::eof);
2001
184
            }
2002
3.61k
        }
2003
2004
680
        return it;
2005
864
    }
2006
864
}
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_l
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_l
_ZN3scn2v44impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_l
Line
Count
Source
1981
368
{
1982
368
    SCN_EXPECT(count >= 0);
1983
1984
    if constexpr (ranges::sized_range<Range>) {
1985
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1986
        if (sz < count) {
1987
            return unexpected(eof_error::eof);
1988
        }
1989
1990
        return ranges::next(range.begin(), count);
1991
    }
1992
368
    else {
1993
368
        auto it = range.begin();
1994
368
        if (guaranteed_minimum_size(range) >= static_cast<std::size_t>(count)) {
1995
0
            return ranges::next(it, count);
1996
0
        }
1997
1998
1.69k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1999
1.45k
            if (it == range.end()) {
2000
128
                return unexpected(eof_error::eof);
2001
128
            }
2002
1.45k
        }
2003
2004
240
        return it;
2005
368
    }
2006
368
}
Unexecuted instantiation: _ZN3scn2v44impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_l
2007
2008
template <typename Iterator, typename CharT>
2009
struct read_code_point_into_result {
2010
    Iterator iterator;
2011
    std::basic_string<CharT> codepoint;
2012
2013
    bool is_valid() const
2014
513k
    {
2015
513k
        return !codepoint.empty();
2016
513k
    }
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, char>::is_valid() const
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, char>::is_valid() const
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, char>::is_valid() const
scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, char>::is_valid() const
Line
Count
Source
2014
25.1k
    {
2015
25.1k
        return !codepoint.empty();
2016
25.1k
    }
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, char>::is_valid() const
scn::v4::impl::read_code_point_into_result<char const*, char>::is_valid() const
Line
Count
Source
2014
265k
    {
2015
265k
        return !codepoint.empty();
2016
265k
    }
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, wchar_t>::is_valid() const
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, wchar_t>::is_valid() const
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, wchar_t>::is_valid() const
scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, wchar_t>::is_valid() const
Line
Count
Source
2014
11.4k
    {
2015
11.4k
        return !codepoint.empty();
2016
11.4k
    }
scn::v4::impl::read_code_point_into_result<wchar_t const*, wchar_t>::is_valid() const
Line
Count
Source
2014
205k
    {
2015
205k
        return !codepoint.empty();
2016
205k
    }
Unexecuted instantiation: scn::v4::impl::read_code_point_into_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, wchar_t>::is_valid() const
scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, char>::is_valid() const
Line
Count
Source
2014
3.40k
    {
2015
3.40k
        return !codepoint.empty();
2016
3.40k
    }
scn::v4::impl::read_code_point_into_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, wchar_t>::is_valid() const
Line
Count
Source
2014
1.68k
    {
2015
1.68k
        return !codepoint.empty();
2016
1.68k
    }
2017
};
2018
2019
template <typename Range>
2020
auto read_code_point_into(Range range)
2021
    -> read_code_point_into_result<ranges::const_iterator_t<Range>,
2022
                                   detail::char_t<Range>>
2023
513k
{
2024
513k
    SCN_EXPECT(!is_range_eof(range));
2025
513k
    using string_type = std::basic_string<detail::char_t<Range>>;
2026
2027
513k
    auto it = range.begin();
2028
513k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2029
2030
513k
    if (SCN_UNLIKELY(len == 0)) {
2031
3.85k
        ++it;
2032
3.85k
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2033
3.85k
        return {it, {}};
2034
3.85k
    }
2035
2036
509k
    if (len == 1) {
2037
462k
        ++it;
2038
462k
        return {it, string_type(1, *range.begin())};
2039
462k
    }
2040
2041
46.6k
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2042
46.6k
    return {it, string_type{range.begin(), it}};
2043
509k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISS_EEE4typeEEESS_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISS_EEE4typeEEESS_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
_ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISL_EEE4typeEEESL_
Line
Count
Source
2023
25.1k
{
2024
25.1k
    SCN_EXPECT(!is_range_eof(range));
2025
25.1k
    using string_type = std::basic_string<detail::char_t<Range>>;
2026
2027
25.1k
    auto it = range.begin();
2028
25.1k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2029
2030
25.1k
    if (SCN_UNLIKELY(len == 0)) {
2031
2.89k
        ++it;
2032
2.89k
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2033
2.89k
        return {it, {}};
2034
2.89k
    }
2035
2036
22.2k
    if (len == 1) {
2037
18.9k
        ++it;
2038
18.9k
        return {it, string_type(1, *range.begin())};
2039
18.9k
    }
2040
2041
3.36k
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2042
3.36k
    return {it, string_type{range.begin(), it}};
2043
22.2k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISG_EEE4typeEEESG_
_ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISD_EEE4typeEEESD_
Line
Count
Source
2023
265k
{
2024
265k
    SCN_EXPECT(!is_range_eof(range));
2025
265k
    using string_type = std::basic_string<detail::char_t<Range>>;
2026
2027
265k
    auto it = range.begin();
2028
265k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2029
2030
265k
    if (SCN_UNLIKELY(len == 0)) {
2031
954
        ++it;
2032
954
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2033
954
        return {it, {}};
2034
954
    }
2035
2036
264k
    if (len == 1) {
2037
222k
        ++it;
2038
222k
        return {it, string_type(1, *range.begin())};
2039
222k
    }
2040
2041
42.3k
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2042
42.3k
    return {it, string_type{range.begin(), it}};
2043
264k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISS_EEE4typeEEESS_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISS_EEE4typeEEESS_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
_ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISD_EEE4typeEEESD_
Line
Count
Source
2023
205k
{
2024
205k
    SCN_EXPECT(!is_range_eof(range));
2025
205k
    using string_type = std::basic_string<detail::char_t<Range>>;
2026
2027
205k
    auto it = range.begin();
2028
205k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2029
2030
205k
    if (SCN_UNLIKELY(len == 0)) {
2031
0
        ++it;
2032
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2033
0
        return {it, {}};
2034
0
    }
2035
2036
205k
    if (len == 1) {
2037
205k
        ++it;
2038
205k
        return {it, string_type(1, *range.begin())};
2039
205k
    }
2040
2041
0
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2042
0
    return {it, string_type{range.begin(), it}};
2043
205k
}
_ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISL_EEE4typeEEESL_
Line
Count
Source
2023
11.4k
{
2024
11.4k
    SCN_EXPECT(!is_range_eof(range));
2025
11.4k
    using string_type = std::basic_string<detail::char_t<Range>>;
2026
2027
11.4k
    auto it = range.begin();
2028
11.4k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2029
2030
11.4k
    if (SCN_UNLIKELY(len == 0)) {
2031
0
        ++it;
2032
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2033
0
        return {it, {}};
2034
0
    }
2035
2036
11.4k
    if (len == 1) {
2037
11.4k
        ++it;
2038
11.4k
        return {it, string_type(1, *range.begin())};
2039
11.4k
    }
2040
2041
0
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2042
0
    return {it, string_type{range.begin(), it}};
2043
11.4k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISG_EEE4typeEEESG_
_ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISP_EEE4typeEEESP_
Line
Count
Source
2023
3.40k
{
2024
3.40k
    SCN_EXPECT(!is_range_eof(range));
2025
3.40k
    using string_type = std::basic_string<detail::char_t<Range>>;
2026
2027
3.40k
    auto it = range.begin();
2028
3.40k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2029
2030
3.40k
    if (SCN_UNLIKELY(len == 0)) {
2031
0
        ++it;
2032
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2033
0
        return {it, {}};
2034
0
    }
2035
2036
3.40k
    if (len == 1) {
2037
2.50k
        ++it;
2038
2.50k
        return {it, string_type(1, *range.begin())};
2039
2.50k
    }
2040
2041
902
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2042
902
    return {it, string_type{range.begin(), it}};
2043
3.40k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISF_EEE4typeEEESF_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISI_EEE4typeEEESI_
_ZN3scn2v44impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISP_EEE4typeEEESP_
Line
Count
Source
2023
1.68k
{
2024
1.68k
    SCN_EXPECT(!is_range_eof(range));
2025
1.68k
    using string_type = std::basic_string<detail::char_t<Range>>;
2026
2027
1.68k
    auto it = range.begin();
2028
1.68k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
2029
2030
1.68k
    if (SCN_UNLIKELY(len == 0)) {
2031
0
        ++it;
2032
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
2033
0
        return {it, {}};
2034
0
    }
2035
2036
1.68k
    if (len == 1) {
2037
1.68k
        ++it;
2038
1.68k
        return {it, string_type(1, *range.begin())};
2039
1.68k
    }
2040
2041
0
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
2042
0
    return {it, string_type{range.begin(), it}};
2043
1.68k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISF_EEE4typeEEESF_
Unexecuted instantiation: _ZN3scn2v44impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISI_EEE4typeEEESI_
2044
2045
template <typename Range>
2046
auto read_code_point(Range range) -> ranges::const_iterator_t<Range>
2047
{
2048
    return read_code_point_into(range).iterator;
2049
}
2050
2051
template <typename Range>
2052
auto read_exactly_n_code_points(Range range, std::ptrdiff_t count)
2053
    -> eof_expected<ranges::const_iterator_t<Range>>
2054
{
2055
    SCN_EXPECT(count >= 0);
2056
2057
    if (count > 0) {
2058
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
2059
            return unexpected(e);
2060
        }
2061
    }
2062
2063
    auto it = range.begin();
2064
    for (std::ptrdiff_t i = 0; i < count; ++i) {
2065
        auto rng = ranges::subrange{it, range.end()};
2066
2067
        if (auto e = eof_check(rng); SCN_UNLIKELY(!e)) {
2068
            return unexpected(e);
2069
        }
2070
2071
        it = read_code_point(rng);
2072
    }
2073
2074
    return it;
2075
}
2076
2077
template <typename Range>
2078
auto read_until_code_unit(Range range,
2079
                          detail::mp_identity_t<detail::char_t<Range>> cu)
2080
    -> ranges::const_iterator_t<Range>
2081
390
{
2082
390
    if constexpr (ranges::common_range<Range>) {
2083
162
        return std::find(range.begin(), range.end(), cu);
2084
    }
2085
228
    else {
2086
228
        auto first = range.begin();
2087
4.75k
        for (; first != range.end(); ++first) {
2088
4.54k
            if (*first == cu) {
2089
12
                return first;
2090
12
            }
2091
4.54k
        }
2092
216
        return first;
2093
228
    }
2094
390
}
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS8_11mp_identityINDTcl4implISH_EEE4typeEE4typeE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS7_11mp_identityINDTcl4implISF_EEE4typeEE4typeE
_ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS0_6detail11mp_identityINDTcl4implISE_EEE4typeEE4typeE
Line
Count
Source
2081
144
{
2082
    if constexpr (ranges::common_range<Range>) {
2083
        return std::find(range.begin(), range.end(), cu);
2084
    }
2085
144
    else {
2086
144
        auto first = range.begin();
2087
2.89k
        for (; first != range.end(); ++first) {
2088
2.75k
            if (*first == cu) {
2089
6
                return first;
2090
6
            }
2091
2.75k
        }
2092
138
        return first;
2093
144
    }
2094
144
}
_ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS0_6detail11mp_identityINDTcl4implISC_EEE4typeEE4typeE
Line
Count
Source
2081
66
{
2082
66
    if constexpr (ranges::common_range<Range>) {
2083
66
        return std::find(range.begin(), range.end(), cu);
2084
    }
2085
    else {
2086
        auto first = range.begin();
2087
        for (; first != range.end(); ++first) {
2088
            if (*first == cu) {
2089
                return first;
2090
            }
2091
        }
2092
        return first;
2093
    }
2094
66
}
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS8_11mp_identityINDTcl4implISH_EEE4typeEE4typeE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS7_11mp_identityINDTcl4implISF_EEE4typeEE4typeE
_ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS0_6detail11mp_identityINDTcl4implISE_EEE4typeEE4typeE
Line
Count
Source
2081
84
{
2082
    if constexpr (ranges::common_range<Range>) {
2083
        return std::find(range.begin(), range.end(), cu);
2084
    }
2085
84
    else {
2086
84
        auto first = range.begin();
2087
1.86k
        for (; first != range.end(); ++first) {
2088
1.78k
            if (*first == cu) {
2089
6
                return first;
2090
6
            }
2091
1.78k
        }
2092
78
        return first;
2093
84
    }
2094
84
}
_ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS0_6detail11mp_identityINDTcl4implISC_EEE4typeEE4typeE
Line
Count
Source
2081
96
{
2082
96
    if constexpr (ranges::common_range<Range>) {
2083
96
        return std::find(range.begin(), range.end(), cu);
2084
    }
2085
    else {
2086
        auto first = range.begin();
2087
        for (; first != range.end(); ++first) {
2088
            if (*first == cu) {
2089
                return first;
2090
            }
2091
        }
2092
        return first;
2093
    }
2094
96
}
2095
2096
template <typename Range>
2097
auto read_until_code_unit(Range range,
2098
                          function_ref<bool(detail::char_t<Range>)> pred)
2099
    -> ranges::const_iterator_t<Range>
2100
5.94k
{
2101
5.94k
    if constexpr (ranges::common_range<Range>) {
2102
1.96k
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
3.98k
    else {
2105
3.98k
        auto first = range.begin();
2106
13.6k
        for (; first != range.end(); ++first) {
2107
13.2k
            if (pred(*first)) {
2108
3.54k
                return first;
2109
3.54k
            }
2110
13.2k
        }
2111
434
        return first;
2112
3.98k
    }
2113
5.94k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbNDTcl4implISI_EEE4typeEENS1_12fnref_detail11qual_fn_sigISQ_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISL_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
_ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
2100
1.36k
{
2101
    if constexpr (ranges::common_range<Range>) {
2102
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
1.36k
    else {
2105
1.36k
        auto first = range.begin();
2106
1.36k
        for (; first != range.end(); ++first) {
2107
1.36k
            if (pred(*first)) {
2108
1.36k
                return first;
2109
1.36k
            }
2110
1.36k
        }
2111
0
        return first;
2112
1.36k
    }
2113
1.36k
}
_ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
2100
596
{
2101
596
    if constexpr (ranges::common_range<Range>) {
2102
596
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
    else {
2105
        auto first = range.begin();
2106
        for (; first != range.end(); ++first) {
2107
            if (pred(*first)) {
2108
                return first;
2109
            }
2110
        }
2111
        return first;
2112
    }
2113
596
}
_ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
2100
482
{
2101
    if constexpr (ranges::common_range<Range>) {
2102
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
482
    else {
2105
482
        auto first = range.begin();
2106
7.72k
        for (; first != range.end(); ++first) {
2107
7.50k
            if (pred(*first)) {
2108
262
                return first;
2109
262
            }
2110
7.50k
        }
2111
220
        return first;
2112
482
    }
2113
482
}
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbNDTcl4implISI_EEE4typeEENS1_12fnref_detail11qual_fn_sigISQ_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISL_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_until_code_unitINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
_ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
2100
736
{
2101
    if constexpr (ranges::common_range<Range>) {
2102
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
736
    else {
2105
736
        auto first = range.begin();
2106
802
        for (; first != range.end(); ++first) {
2107
772
            if (pred(*first)) {
2108
706
                return first;
2109
706
            }
2110
772
        }
2111
30
        return first;
2112
736
    }
2113
736
}
_ZN3scn2v44impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
2100
1.36k
{
2101
1.36k
    if constexpr (ranges::common_range<Range>) {
2102
1.36k
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
    else {
2105
        auto first = range.begin();
2106
        for (; first != range.end(); ++first) {
2107
            if (pred(*first)) {
2108
                return first;
2109
            }
2110
        }
2111
        return first;
2112
    }
2113
1.36k
}
_ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
2100
398
{
2101
    if constexpr (ranges::common_range<Range>) {
2102
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
398
    else {
2105
398
        auto first = range.begin();
2106
2.21k
        for (; first != range.end(); ++first) {
2107
2.10k
            if (pred(*first)) {
2108
284
                return first;
2109
284
            }
2110
2.10k
        }
2111
114
        return first;
2112
398
    }
2113
398
}
_ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
2100
492
{
2101
    if constexpr (ranges::common_range<Range>) {
2102
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
492
    else {
2105
492
        auto first = range.begin();
2106
744
        for (; first != range.end(); ++first) {
2107
708
            if (pred(*first)) {
2108
456
                return first;
2109
456
            }
2110
708
        }
2111
36
        return first;
2112
492
    }
2113
492
}
_ZN3scn2v44impl20read_until_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
2100
510
{
2101
    if constexpr (ranges::common_range<Range>) {
2102
        return std::find_if(range.begin(), range.end(), pred);
2103
    }
2104
510
    else {
2105
510
        auto first = range.begin();
2106
816
        for (; first != range.end(); ++first) {
2107
782
            if (pred(*first)) {
2108
476
                return first;
2109
476
            }
2110
782
        }
2111
34
        return first;
2112
510
    }
2113
510
}
2114
2115
template <typename Range>
2116
auto read_while_code_unit(Range range,
2117
                          detail::mp_identity_t<detail::char_t<Range>> cu)
2118
    -> ranges::const_iterator_t<Range>
2119
{
2120
    auto first = range.begin();
2121
    for (; first != range.end(); ++first) {
2122
        if (*first != cu) {
2123
            return first;
2124
        }
2125
    }
2126
    return first;
2127
}
2128
2129
template <typename Range>
2130
auto read_while_code_unit(Range range,
2131
                          function_ref<bool(detail::char_t<Range>)> pred)
2132
    -> ranges::const_iterator_t<Range>
2133
5.47k
{
2134
5.47k
    return read_until_code_unit(range, std::not_fn(pred));
2135
5.47k
}
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbNDTcl4implISI_EEE4typeEENS1_12fnref_detail11qual_fn_sigISQ_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISL_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
_ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
2133
1.36k
{
2134
1.36k
    return read_until_code_unit(range, std::not_fn(pred));
2135
1.36k
}
_ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
2133
500
{
2134
500
    return read_until_code_unit(range, std::not_fn(pred));
2135
500
}
_ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
2133
308
{
2134
308
    return read_until_code_unit(range, std::not_fn(pred));
2135
308
}
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbNDTcl4implISI_EEE4typeEENS1_12fnref_detail11qual_fn_sigISQ_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISL_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_while_code_unitINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
_ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
2133
736
{
2134
736
    return read_until_code_unit(range, std::not_fn(pred));
2135
736
}
_ZN3scn2v44impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
2133
1.27k
{
2134
1.27k
    return read_until_code_unit(range, std::not_fn(pred));
2135
1.27k
}
_ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
2133
296
{
2134
296
    return read_until_code_unit(range, std::not_fn(pred));
2135
296
}
_ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
2133
492
{
2134
492
    return read_until_code_unit(range, std::not_fn(pred));
2135
492
}
_ZN3scn2v44impl20read_while_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
2133
510
{
2134
510
    return read_until_code_unit(range, std::not_fn(pred));
2135
510
}
2136
2137
template <typename Range>
2138
auto read_until1_code_unit(Range range,
2139
                           function_ref<bool(detail::char_t<Range>)> pred)
2140
    -> parse_expected<ranges::const_iterator_t<Range>>
2141
{
2142
    auto it = read_until_code_unit(range, pred);
2143
    if (it == range.begin()) {
2144
        return unexpected(parse_error::error);
2145
    }
2146
    return it;
2147
}
2148
2149
template <typename Range>
2150
auto read_while1_code_unit(Range range,
2151
                           function_ref<bool(detail::char_t<Range>)> pred)
2152
    -> parse_expected<ranges::const_iterator_t<Range>>
2153
2.14k
{
2154
2.14k
    auto it = read_while_code_unit(range, pred);
2155
2.14k
    if (it == range.begin()) {
2156
2.07k
        return unexpected(parse_error::error);
2157
2.07k
    }
2158
70
    return it;
2159
2.14k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS1_12function_refIFbNDTcl4implISO_EEE4typeEENS1_12fnref_detail11qual_fn_sigISX_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NS1_12function_refIFbNDTcl4implISG_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
_ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS1_12function_refIFbNDTcl4implISL_EEE4typeEENS1_12fnref_detail11qual_fn_sigISU_E8functionEEE
Line
Count
Source
2153
1.36k
{
2154
1.36k
    auto it = read_while_code_unit(range, pred);
2155
1.36k
    if (it == range.begin()) {
2156
1.36k
        return unexpected(parse_error::error);
2157
1.36k
    }
2158
0
    return it;
2159
1.36k
}
_ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
2153
22
{
2154
22
    auto it = read_while_code_unit(range, pred);
2155
22
    if (it == range.begin()) {
2156
22
        return unexpected(parse_error::error);
2157
22
    }
2158
0
    return it;
2159
22
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS1_12function_refIFbNDTcl4implISO_EEE4typeEENS1_12fnref_detail11qual_fn_sigISX_E8functionEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NS1_12function_refIFbNDTcl4implISG_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
_ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS1_12function_refIFbNDTcl4implISL_EEE4typeEENS1_12fnref_detail11qual_fn_sigISU_E8functionEEE
Line
Count
Source
2153
736
{
2154
736
    auto it = read_while_code_unit(range, pred);
2155
736
    if (it == range.begin()) {
2156
670
        return unexpected(parse_error::error);
2157
670
    }
2158
66
    return it;
2159
736
}
_ZN3scn2v44impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
2153
24
{
2154
24
    auto it = read_while_code_unit(range, pred);
2155
24
    if (it == range.begin()) {
2156
20
        return unexpected(parse_error::error);
2157
20
    }
2158
4
    return it;
2159
24
}
2160
2161
template <typename Range, typename CodeUnits>
2162
auto read_until_code_units(Range range, const CodeUnits& needle)
2163
    -> ranges::const_iterator_t<Range>
2164
246
{
2165
246
    static_assert(ranges::common_range<CodeUnits>);
2166
2167
246
    if constexpr (ranges::common_range<Range>) {
2168
90
        return std::search(range.begin(), range.end(), needle.begin(),
2169
90
                           needle.end());
2170
    }
2171
156
    else {
2172
156
        auto first = range.begin();
2173
2.18k
        while (true) {
2174
2.18k
            auto it = first;
2175
2.67k
            for (auto needle_it = needle.begin();; ++it, (void)++needle_it) {
2176
2.67k
                if (needle_it == needle.end()) {
2177
102
                    return first;
2178
102
                }
2179
2.56k
                if (it == range.end()) {
2180
54
                    return it;
2181
54
                }
2182
2.51k
                if (*it != *needle_it) {
2183
2.02k
                    break;
2184
2.02k
                }
2185
2.51k
            }
2186
2.02k
            ++first;
2187
2.02k
        }
2188
156
    }
2189
246
}
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
_ZN3scn2v44impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
Line
Count
Source
2164
156
{
2165
156
    static_assert(ranges::common_range<CodeUnits>);
2166
2167
    if constexpr (ranges::common_range<Range>) {
2168
        return std::search(range.begin(), range.end(), needle.begin(),
2169
                           needle.end());
2170
    }
2171
156
    else {
2172
156
        auto first = range.begin();
2173
2.18k
        while (true) {
2174
2.18k
            auto it = first;
2175
2.67k
            for (auto needle_it = needle.begin();; ++it, (void)++needle_it) {
2176
2.67k
                if (needle_it == needle.end()) {
2177
102
                    return first;
2178
102
                }
2179
2.56k
                if (it == range.end()) {
2180
54
                    return it;
2181
54
                }
2182
2.51k
                if (*it != *needle_it) {
2183
2.02k
                    break;
2184
2.02k
                }
2185
2.51k
            }
2186
2.02k
            ++first;
2187
2.02k
        }
2188
156
    }
2189
156
}
_ZN3scn2v44impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKcS8_EENSt3__117basic_string_viewIcNSA_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
Line
Count
Source
2164
90
{
2165
90
    static_assert(ranges::common_range<CodeUnits>);
2166
2167
90
    if constexpr (ranges::common_range<Range>) {
2168
90
        return std::search(range.begin(), range.end(), needle.begin(),
2169
90
                           needle.end());
2170
    }
2171
    else {
2172
        auto first = range.begin();
2173
        while (true) {
2174
            auto it = first;
2175
            for (auto needle_it = needle.begin();; ++it, (void)++needle_it) {
2176
                if (needle_it == needle.end()) {
2177
                    return first;
2178
                }
2179
                if (it == range.end()) {
2180
                    return it;
2181
                }
2182
                if (*it != *needle_it) {
2183
                    break;
2184
                }
2185
            }
2186
            ++first;
2187
        }
2188
    }
2189
90
}
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKwS8_EENSt3__117basic_string_viewIwNSA_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
2190
2191
template <typename Range, typename CodeUnits>
2192
auto read_while_code_units(Range range, const CodeUnits& needle)
2193
    -> ranges::const_iterator_t<Range>
2194
1.43k
{
2195
1.43k
    static_assert(ranges::common_range<CodeUnits>);
2196
2197
1.43k
    auto it = range.begin();
2198
2.63k
    while (it != range.end()) {
2199
2.55k
        auto r = read_exactly_n_code_units(
2200
2.55k
            ranges::subrange{it, range.end()},
2201
2.55k
            static_cast<std::ptrdiff_t>(needle.size()));
2202
2.55k
        if (!r) {
2203
220
            return it;
2204
220
        }
2205
2.33k
        static_assert(
2206
2.33k
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2207
2.33k
        if (!std::equal(it, *r, needle.begin())) {
2208
1.13k
            return it;
2209
1.13k
        }
2210
1.20k
        it = *r;
2211
1.20k
    }
2212
80
    SCN_ENSURE(it == range.end());
2213
80
    return it;
2214
80
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEESM_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEES7_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_RKT0_
_ZN3scn2v44impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKcS8_EENSt3__117basic_string_viewIcNSA_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
Line
Count
Source
2194
340
{
2195
340
    static_assert(ranges::common_range<CodeUnits>);
2196
2197
340
    auto it = range.begin();
2198
620
    while (it != range.end()) {
2199
620
        auto r = read_exactly_n_code_units(
2200
620
            ranges::subrange{it, range.end()},
2201
620
            static_cast<std::ptrdiff_t>(needle.size()));
2202
620
        if (!r) {
2203
6
            return it;
2204
6
        }
2205
614
        static_assert(
2206
614
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2207
614
        if (!std::equal(it, *r, needle.begin())) {
2208
334
            return it;
2209
334
        }
2210
280
        it = *r;
2211
280
    }
2212
0
    SCN_ENSURE(it == range.end());
2213
0
    return it;
2214
0
}
_ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
Line
Count
Source
2194
336
{
2195
336
    static_assert(ranges::common_range<CodeUnits>);
2196
2197
336
    auto it = range.begin();
2198
680
    while (it != range.end()) {
2199
634
        auto r = read_exactly_n_code_units(
2200
634
            ranges::subrange{it, range.end()},
2201
634
            static_cast<std::ptrdiff_t>(needle.size()));
2202
634
        if (!r) {
2203
70
            return it;
2204
70
        }
2205
564
        static_assert(
2206
564
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2207
564
        if (!std::equal(it, *r, needle.begin())) {
2208
220
            return it;
2209
220
        }
2210
344
        it = *r;
2211
344
    }
2212
46
    SCN_ENSURE(it == range.end());
2213
46
    return it;
2214
46
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEESM_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEES7_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKwS8_EENSt3__117basic_string_viewIwNSA_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
_ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Line
Count
Source
2194
756
{
2195
756
    static_assert(ranges::common_range<CodeUnits>);
2196
2197
756
    auto it = range.begin();
2198
1.33k
    while (it != range.end()) {
2199
1.30k
        auto r = read_exactly_n_code_units(
2200
1.30k
            ranges::subrange{it, range.end()},
2201
1.30k
            static_cast<std::ptrdiff_t>(needle.size()));
2202
1.30k
        if (!r) {
2203
144
            return it;
2204
144
        }
2205
1.16k
        static_assert(
2206
1.16k
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2207
1.16k
        if (!std::equal(it, *r, needle.begin())) {
2208
578
            return it;
2209
578
        }
2210
582
        it = *r;
2211
582
    }
2212
34
    SCN_ENSURE(it == range.end());
2213
34
    return it;
2214
34
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_unitsINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
2215
2216
template <typename Range>
2217
auto read_until_code_point(Range range, function_ref<bool(char32_t)> pred)
2218
    -> ranges::const_iterator_t<Range>
2219
130k
{
2220
130k
    auto it = range.begin();
2221
522k
    while (it != range.end()) {
2222
513k
        const auto val =
2223
513k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
513k
        if (SCN_LIKELY(val.is_valid())) {
2225
509k
            const auto cp = detail::decode_code_point_exhaustive(
2226
509k
                std::basic_string_view<detail::char_t<Range>>{
2227
509k
                    val.codepoint.data(), val.codepoint.size()});
2228
509k
            if (pred(cp)) {
2229
121k
                return it;
2230
121k
            }
2231
509k
        }
2232
391k
        it = val.iterator;
2233
391k
    }
2234
2235
9.39k
    return it;
2236
130k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbDiESO_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbDiESJ_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2219
1.00k
{
2220
1.00k
    auto it = range.begin();
2221
13.6k
    while (it != range.end()) {
2222
13.2k
        const auto val =
2223
13.2k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
13.2k
        if (SCN_LIKELY(val.is_valid())) {
2225
11.9k
            const auto cp = detail::decode_code_point_exhaustive(
2226
11.9k
                std::basic_string_view<detail::char_t<Range>>{
2227
11.9k
                    val.codepoint.data(), val.codepoint.size()});
2228
11.9k
            if (pred(cp)) {
2229
614
                return it;
2230
614
            }
2231
11.9k
        }
2232
12.5k
        it = val.iterator;
2233
12.5k
    }
2234
2235
392
    return it;
2236
1.00k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbDiEST_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
_ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbDiESQ_EE
Line
Count
Source
2219
954
{
2220
954
    auto it = range.begin();
2221
12.7k
    while (it != range.end()) {
2222
11.9k
        const auto val =
2223
11.9k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
11.9k
        if (SCN_LIKELY(val.is_valid())) {
2225
10.3k
            const auto cp = detail::decode_code_point_exhaustive(
2226
10.3k
                std::basic_string_view<detail::char_t<Range>>{
2227
10.3k
                    val.codepoint.data(), val.codepoint.size()});
2228
10.3k
            if (pred(cp)) {
2229
222
                return it;
2230
222
            }
2231
10.3k
        }
2232
11.7k
        it = val.iterator;
2233
11.7k
    }
2234
2235
732
    return it;
2236
954
}
_ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2219
2.32k
{
2220
2.32k
    auto it = range.begin();
2221
265k
    while (it != range.end()) {
2222
265k
        const auto val =
2223
265k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
265k
        if (SCN_LIKELY(val.is_valid())) {
2225
264k
            const auto cp = detail::decode_code_point_exhaustive(
2226
264k
                std::basic_string_view<detail::char_t<Range>>{
2227
264k
                    val.codepoint.data(), val.codepoint.size()});
2228
264k
            if (pred(cp)) {
2229
2.16k
                return it;
2230
2.16k
            }
2231
264k
        }
2232
263k
        it = val.iterator;
2233
263k
    }
2234
2235
156
    return it;
2236
2.32k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbDiESO_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbDiESJ_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v44impl21read_until_code_pointINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbDiESG_EE
Line
Count
Source
2219
55.9k
{
2220
55.9k
    auto it = range.begin();
2221
62.2k
    while (it != range.end()) {
2222
58.1k
        const auto val =
2223
58.1k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
58.1k
        if (SCN_LIKELY(val.is_valid())) {
2225
58.1k
            const auto cp = detail::decode_code_point_exhaustive(
2226
58.1k
                std::basic_string_view<detail::char_t<Range>>{
2227
58.1k
                    val.codepoint.data(), val.codepoint.size()});
2228
58.1k
            if (pred(cp)) {
2229
51.8k
                return it;
2230
51.8k
            }
2231
58.1k
        }
2232
6.34k
        it = val.iterator;
2233
6.34k
    }
2234
2235
4.10k
    return it;
2236
55.9k
}
_ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2219
792
{
2220
792
    auto it = range.begin();
2221
5.79k
    while (it != range.end()) {
2222
5.62k
        const auto val =
2223
5.62k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
5.62k
        if (SCN_LIKELY(val.is_valid())) {
2225
5.62k
            const auto cp = detail::decode_code_point_exhaustive(
2226
5.62k
                std::basic_string_view<detail::char_t<Range>>{
2227
5.62k
                    val.codepoint.data(), val.codepoint.size()});
2228
5.62k
            if (pred(cp)) {
2229
618
                return it;
2230
618
            }
2231
5.62k
        }
2232
5.00k
        it = val.iterator;
2233
5.00k
    }
2234
2235
174
    return it;
2236
792
}
_ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2219
65.9k
{
2220
65.9k
    auto it = range.begin();
2221
150k
    while (it != range.end()) {
2222
147k
        const auto val =
2223
147k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
147k
        if (SCN_LIKELY(val.is_valid())) {
2225
147k
            const auto cp = detail::decode_code_point_exhaustive(
2226
147k
                std::basic_string_view<detail::char_t<Range>>{
2227
147k
                    val.codepoint.data(), val.codepoint.size()});
2228
147k
            if (pred(cp)) {
2229
62.8k
                return it;
2230
62.8k
            }
2231
147k
        }
2232
84.8k
        it = val.iterator;
2233
84.8k
    }
2234
2235
3.10k
    return it;
2236
65.9k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbDiEST_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
_ZN3scn2v44impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbDiESQ_EE
Line
Count
Source
2219
450
{
2220
450
    auto it = range.begin();
2221
6.22k
    while (it != range.end()) {
2222
5.85k
        const auto val =
2223
5.85k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
5.85k
        if (SCN_LIKELY(val.is_valid())) {
2225
5.85k
            const auto cp = detail::decode_code_point_exhaustive(
2226
5.85k
                std::basic_string_view<detail::char_t<Range>>{
2227
5.85k
                    val.codepoint.data(), val.codepoint.size()});
2228
5.85k
            if (pred(cp)) {
2229
78
                return it;
2230
78
            }
2231
5.85k
        }
2232
5.77k
        it = val.iterator;
2233
5.77k
    }
2234
2235
372
    return it;
2236
450
}
_ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2219
2.19k
{
2220
2.19k
    auto it = range.begin();
2221
3.64k
    while (it != range.end()) {
2222
3.40k
        const auto val =
2223
3.40k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
3.40k
        if (SCN_LIKELY(val.is_valid())) {
2225
3.40k
            const auto cp = detail::decode_code_point_exhaustive(
2226
3.40k
                std::basic_string_view<detail::char_t<Range>>{
2227
3.40k
                    val.codepoint.data(), val.codepoint.size()});
2228
3.40k
            if (pred(cp)) {
2229
1.95k
                return it;
2230
1.95k
            }
2231
3.40k
        }
2232
1.44k
        it = val.iterator;
2233
1.44k
    }
2234
2235
238
    return it;
2236
2.19k
}
_ZN3scn2v44impl21read_until_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2219
1.20k
{
2220
1.20k
    auto it = range.begin();
2221
1.80k
    while (it != range.end()) {
2222
1.68k
        const auto val =
2223
1.68k
            read_code_point_into(ranges::subrange{it, range.end()});
2224
1.68k
        if (SCN_LIKELY(val.is_valid())) {
2225
1.68k
            const auto cp = detail::decode_code_point_exhaustive(
2226
1.68k
                std::basic_string_view<detail::char_t<Range>>{
2227
1.68k
                    val.codepoint.data(), val.codepoint.size()});
2228
1.68k
            if (pred(cp)) {
2229
1.08k
                return it;
2230
1.08k
            }
2231
1.68k
        }
2232
598
        it = val.iterator;
2233
598
    }
2234
2235
116
    return it;
2236
1.20k
}
2237
2238
template <typename Range>
2239
auto read_while_code_point(Range range, function_ref<bool(char32_t)> pred)
2240
    -> ranges::const_iterator_t<Range>
2241
125k
{
2242
125k
    return read_until_code_point(range, std::not_fn(pred));
2243
125k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbDiESO_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbDiESJ_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2241
784
{
2242
784
    return read_until_code_point(range, std::not_fn(pred));
2243
784
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
_ZN3scn2v44impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2241
2.10k
{
2242
2.10k
    return read_until_code_point(range, std::not_fn(pred));
2243
2.10k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbDiESO_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbDiESJ_EE
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v44impl21read_while_code_pointINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbDiESG_EE
Line
Count
Source
2241
55.9k
{
2242
55.9k
    return read_until_code_point(range, std::not_fn(pred));
2243
55.9k
}
_ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2241
588
{
2242
588
    return read_until_code_point(range, std::not_fn(pred));
2243
588
}
_ZN3scn2v44impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2241
63.0k
{
2242
63.0k
    return read_until_code_point(range, std::not_fn(pred));
2243
63.0k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
_ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2241
2.19k
{
2242
2.19k
    return read_until_code_point(range, std::not_fn(pred));
2243
2.19k
}
_ZN3scn2v44impl21read_while_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2241
1.20k
{
2242
1.20k
    return read_until_code_point(range, std::not_fn(pred));
2243
1.20k
}
2244
2245
template <typename Range>
2246
auto read_until_classic_space(Range range) -> ranges::const_iterator_t<Range>
2247
7.05k
{
2248
    if constexpr (ranges::contiguous_range<Range> &&
2249
                  ranges::sized_range<Range> &&
2250
2.95k
                  std::is_same_v<detail::char_t<Range>, char>) {
2251
2.95k
        auto buf = make_contiguous_buffer(range);
2252
2.95k
        auto it = find_classic_space_narrow_fast(buf.view());
2253
2.95k
        return ranges::next(range.begin(),
2254
2.95k
                            ranges::distance(buf.view().begin(), it));
2255
    }
2256
4.09k
    else {
2257
4.09k
        auto it = range.begin();
2258
2259
4.09k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2260
954
            auto seg = get_contiguous_beginning(range);
2261
954
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2262
954
                seg_it != seg.end()) {
2263
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2264
0
            }
2265
954
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2266
954
        }
2267
2268
0
        return read_until_code_point(
2269
4.09k
            ranges::subrange{it, range.end()},
2270
38.4k
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
Unexecuted instantiation: _ZZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
_ZZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2270
10.3k
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
Unexecuted instantiation: _ZZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
_ZZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2270
5.85k
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
_ZZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
Line
Count
Source
2270
20.4k
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
_ZZN3scn2v44impl24read_until_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_ENKUlDiE_clEDi
Line
Count
Source
2270
1.83k
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
2271
4.09k
    }
2272
7.05k
}
Unexecuted instantiation: _ZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
Unexecuted instantiation: _ZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
_ZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2247
954
{
2248
    if constexpr (ranges::contiguous_range<Range> &&
2249
                  ranges::sized_range<Range> &&
2250
                  std::is_same_v<detail::char_t<Range>, char>) {
2251
        auto buf = make_contiguous_buffer(range);
2252
        auto it = find_classic_space_narrow_fast(buf.view());
2253
        return ranges::next(range.begin(),
2254
                            ranges::distance(buf.view().begin(), it));
2255
    }
2256
954
    else {
2257
954
        auto it = range.begin();
2258
2259
954
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2260
954
            auto seg = get_contiguous_beginning(range);
2261
954
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2262
954
                seg_it != seg.end()) {
2263
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2264
0
            }
2265
954
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2266
954
        }
2267
2268
0
        return read_until_code_point(
2269
954
            ranges::subrange{it, range.end()},
2270
954
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
2271
954
    }
2272
954
}
_ZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2247
2.95k
{
2248
    if constexpr (ranges::contiguous_range<Range> &&
2249
                  ranges::sized_range<Range> &&
2250
2.95k
                  std::is_same_v<detail::char_t<Range>, char>) {
2251
2.95k
        auto buf = make_contiguous_buffer(range);
2252
2.95k
        auto it = find_classic_space_narrow_fast(buf.view());
2253
2.95k
        return ranges::next(range.begin(),
2254
2.95k
                            ranges::distance(buf.view().begin(), it));
2255
    }
2256
    else {
2257
        auto it = range.begin();
2258
2259
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2260
            auto seg = get_contiguous_beginning(range);
2261
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2262
                seg_it != seg.end()) {
2263
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2264
            }
2265
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2266
        }
2267
2268
        return read_until_code_point(
2269
            ranges::subrange{it, range.end()},
2270
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
2271
    }
2272
2.95k
}
Unexecuted instantiation: _ZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
Unexecuted instantiation: _ZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
_ZN3scn2v44impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2247
450
{
2248
    if constexpr (ranges::contiguous_range<Range> &&
2249
                  ranges::sized_range<Range> &&
2250
                  std::is_same_v<detail::char_t<Range>, char>) {
2251
        auto buf = make_contiguous_buffer(range);
2252
        auto it = find_classic_space_narrow_fast(buf.view());
2253
        return ranges::next(range.begin(),
2254
                            ranges::distance(buf.view().begin(), it));
2255
    }
2256
450
    else {
2257
450
        auto it = range.begin();
2258
2259
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2260
            auto seg = get_contiguous_beginning(range);
2261
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2262
                seg_it != seg.end()) {
2263
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2264
            }
2265
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2266
        }
2267
2268
450
        return read_until_code_point(
2269
450
            ranges::subrange{it, range.end()},
2270
450
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
2271
450
    }
2272
450
}
_ZN3scn2v44impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2247
2.61k
{
2248
    if constexpr (ranges::contiguous_range<Range> &&
2249
                  ranges::sized_range<Range> &&
2250
                  std::is_same_v<detail::char_t<Range>, char>) {
2251
        auto buf = make_contiguous_buffer(range);
2252
        auto it = find_classic_space_narrow_fast(buf.view());
2253
        return ranges::next(range.begin(),
2254
                            ranges::distance(buf.view().begin(), it));
2255
    }
2256
2.61k
    else {
2257
2.61k
        auto it = range.begin();
2258
2259
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2260
            auto seg = get_contiguous_beginning(range);
2261
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2262
                seg_it != seg.end()) {
2263
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2264
            }
2265
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2266
        }
2267
2268
2.61k
        return read_until_code_point(
2269
2.61k
            ranges::subrange{it, range.end()},
2270
2.61k
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
2271
2.61k
    }
2272
2.61k
}
Unexecuted instantiation: _ZN3scn2v44impl24read_until_classic_spaceINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
_ZN3scn2v44impl24read_until_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
2247
72
{
2248
    if constexpr (ranges::contiguous_range<Range> &&
2249
                  ranges::sized_range<Range> &&
2250
                  std::is_same_v<detail::char_t<Range>, char>) {
2251
        auto buf = make_contiguous_buffer(range);
2252
        auto it = find_classic_space_narrow_fast(buf.view());
2253
        return ranges::next(range.begin(),
2254
                            ranges::distance(buf.view().begin(), it));
2255
    }
2256
72
    else {
2257
72
        auto it = range.begin();
2258
2259
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2260
            auto seg = get_contiguous_beginning(range);
2261
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2262
                seg_it != seg.end()) {
2263
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2264
            }
2265
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2266
        }
2267
2268
72
        return read_until_code_point(
2269
72
            ranges::subrange{it, range.end()},
2270
72
            [](char32_t cp) noexcept { return detail::is_cp_space(cp); });
2271
72
    }
2272
72
}
2273
2274
template <typename Range>
2275
auto read_while_classic_space(Range range) -> ranges::const_iterator_t<Range>
2276
147k
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
24.6k
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
24.6k
        auto buf = make_contiguous_buffer(range);
2281
24.6k
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
24.6k
        return ranges::next(range.begin(),
2283
24.6k
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
123k
    else {
2286
123k
        auto it = range.begin();
2287
2288
123k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
2.75k
            auto seg = get_contiguous_beginning(range);
2290
2.75k
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
2.75k
                seg_it != seg.end()) {
2292
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
0
            }
2294
2.75k
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
2.75k
        }
2296
2297
123k
        SCN_UNUSED(it);
2298
186k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
186k
            return detail::is_cp_space(cp);
2300
186k
        });
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
_ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2298
1.70k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
1.70k
            return detail::is_cp_space(cp);
2300
1.70k
        });
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
_ZZN3scn2v44impl24read_while_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_ENKUlDiE_clEDi
Line
Count
Source
2298
58.1k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
58.1k
            return detail::is_cp_space(cp);
2300
58.1k
        });
_ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2298
850
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
850
            return detail::is_cp_space(cp);
2300
850
        });
_ZZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
Line
Count
Source
2298
120k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
120k
            return detail::is_cp_space(cp);
2300
120k
        });
Unexecuted instantiation: _ZZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
_ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Line
Count
Source
2298
3.40k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
3.40k
            return detail::is_cp_space(cp);
2300
3.40k
        });
_ZZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Line
Count
Source
2298
1.68k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
1.68k
            return detail::is_cp_space(cp);
2300
1.68k
        });
2301
123k
    }
2302
147k
}
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_
_ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2276
556
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
        auto buf = make_contiguous_buffer(range);
2281
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
        return ranges::next(range.begin(),
2283
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
556
    else {
2286
556
        auto it = range.begin();
2287
2288
556
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
556
            auto seg = get_contiguous_beginning(range);
2290
556
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
556
                seg_it != seg.end()) {
2292
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
0
            }
2294
556
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
556
        }
2296
2297
556
        SCN_UNUSED(it);
2298
556
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
556
            return detail::is_cp_space(cp);
2300
556
        });
2301
556
    }
2302
556
}
_ZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2276
15.8k
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
15.8k
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
15.8k
        auto buf = make_contiguous_buffer(range);
2281
15.8k
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
15.8k
        return ranges::next(range.begin(),
2283
15.8k
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
    else {
2286
        auto it = range.begin();
2287
2288
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
            auto seg = get_contiguous_beginning(range);
2290
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
                seg_it != seg.end()) {
2292
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
            }
2294
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
        }
2296
2297
        SCN_UNUSED(it);
2298
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
            return detail::is_cp_space(cp);
2300
        });
2301
    }
2302
15.8k
}
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_
_ZN3scn2v44impl24read_while_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
2276
55.9k
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
        auto buf = make_contiguous_buffer(range);
2281
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
        return ranges::next(range.begin(),
2283
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
55.9k
    else {
2286
55.9k
        auto it = range.begin();
2287
2288
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
            auto seg = get_contiguous_beginning(range);
2290
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
                seg_it != seg.end()) {
2292
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
            }
2294
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
        }
2296
2297
55.9k
        SCN_UNUSED(it);
2298
55.9k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
55.9k
            return detail::is_cp_space(cp);
2300
55.9k
        });
2301
55.9k
    }
2302
55.9k
}
_ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2276
438
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
        auto buf = make_contiguous_buffer(range);
2281
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
        return ranges::next(range.begin(),
2283
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
438
    else {
2286
438
        auto it = range.begin();
2287
2288
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
            auto seg = get_contiguous_beginning(range);
2290
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
                seg_it != seg.end()) {
2292
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
            }
2294
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
        }
2296
2297
438
        SCN_UNUSED(it);
2298
438
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
438
            return detail::is_cp_space(cp);
2300
438
        });
2301
438
    }
2302
438
}
_ZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2276
62.8k
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
        auto buf = make_contiguous_buffer(range);
2281
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
        return ranges::next(range.begin(),
2283
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
62.8k
    else {
2286
62.8k
        auto it = range.begin();
2287
2288
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
            auto seg = get_contiguous_beginning(range);
2290
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
                seg_it != seg.end()) {
2292
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
            }
2294
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
        }
2296
2297
62.8k
        SCN_UNUSED(it);
2298
62.8k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
62.8k
            return detail::is_cp_space(cp);
2300
62.8k
        });
2301
62.8k
    }
2302
62.8k
}
Unexecuted instantiation: _ZN3scn2v44impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
_ZN3scn2v44impl24read_while_classic_spaceINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
2276
8.82k
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
8.82k
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
8.82k
        auto buf = make_contiguous_buffer(range);
2281
8.82k
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
8.82k
        return ranges::next(range.begin(),
2283
8.82k
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
    else {
2286
        auto it = range.begin();
2287
2288
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
            auto seg = get_contiguous_beginning(range);
2290
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
                seg_it != seg.end()) {
2292
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
            }
2294
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
        }
2296
2297
        SCN_UNUSED(it);
2298
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
            return detail::is_cp_space(cp);
2300
        });
2301
    }
2302
8.82k
}
_ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
2276
2.19k
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
        auto buf = make_contiguous_buffer(range);
2281
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
        return ranges::next(range.begin(),
2283
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
2.19k
    else {
2286
2.19k
        auto it = range.begin();
2287
2288
2.19k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
2.19k
            auto seg = get_contiguous_beginning(range);
2290
2.19k
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
2.19k
                seg_it != seg.end()) {
2292
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
0
            }
2294
2.19k
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
2.19k
        }
2296
2297
2.19k
        SCN_UNUSED(it);
2298
2.19k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
2.19k
            return detail::is_cp_space(cp);
2300
2.19k
        });
2301
2.19k
    }
2302
2.19k
}
_ZN3scn2v44impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
2276
1.20k
{
2277
    if constexpr (ranges::contiguous_range<Range> &&
2278
                  ranges::sized_range<Range> &&
2279
                  std::is_same_v<detail::char_t<Range>, char>) {
2280
        auto buf = make_contiguous_buffer(range);
2281
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2282
        return ranges::next(range.begin(),
2283
                            ranges::distance(buf.view().begin(), it));
2284
    }
2285
1.20k
    else {
2286
1.20k
        auto it = range.begin();
2287
2288
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2289
            auto seg = get_contiguous_beginning(range);
2290
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2291
                seg_it != seg.end()) {
2292
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2293
            }
2294
            ranges::advance(it, static_cast<std::ptrdiff_t>(seg.size()));
2295
        }
2296
2297
1.20k
        SCN_UNUSED(it);
2298
1.20k
        return read_while_code_point(range, [](char32_t cp) noexcept {
2299
1.20k
            return detail::is_cp_space(cp);
2300
1.20k
        });
2301
1.20k
    }
2302
1.20k
}
2303
2304
template <typename Range>
2305
auto read_matching_code_unit(Range range, detail::char_t<Range> ch)
2306
    -> parse_expected<ranges::const_iterator_t<Range>>
2307
4.99k
{
2308
4.99k
    auto it = read_code_unit(range);
2309
4.99k
    if (SCN_UNLIKELY(!it)) {
2310
8
        return unexpected(make_eof_parse_error(it.error()));
2311
8
    }
2312
2313
4.98k
    if (SCN_UNLIKELY(*range.begin() !=
2314
4.98k
                     static_cast<detail::char_t<Range>>(ch))) {
2315
4.87k
        return unexpected(parse_error::error);
2316
4.87k
    }
2317
2318
110
    return *it;
2319
4.98k
}
Unexecuted instantiation: _ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NDTcl4implISO_EEE4typeE
Unexecuted instantiation: _ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NDTcl4implISG_EEE4typeE
_ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NDTcl4implISL_EEE4typeE
Line
Count
Source
2307
40
{
2308
40
    auto it = read_code_unit(range);
2309
40
    if (SCN_UNLIKELY(!it)) {
2310
0
        return unexpected(make_eof_parse_error(it.error()));
2311
0
    }
2312
2313
40
    if (SCN_UNLIKELY(*range.begin() !=
2314
40
                     static_cast<detail::char_t<Range>>(ch))) {
2315
40
        return unexpected(parse_error::error);
2316
40
    }
2317
2318
0
    return *it;
2319
40
}
_ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NDTcl4implISD_EEE4typeE
Line
Count
Source
2307
1.93k
{
2308
1.93k
    auto it = read_code_unit(range);
2309
1.93k
    if (SCN_UNLIKELY(!it)) {
2310
0
        return unexpected(make_eof_parse_error(it.error()));
2311
0
    }
2312
2313
1.93k
    if (SCN_UNLIKELY(*range.begin() !=
2314
1.93k
                     static_cast<detail::char_t<Range>>(ch))) {
2315
1.93k
        return unexpected(parse_error::error);
2316
1.93k
    }
2317
2318
0
    return *it;
2319
1.93k
}
Unexecuted instantiation: _ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NDTcl4implISO_EEE4typeE
Unexecuted instantiation: _ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NDTcl4implISG_EEE4typeE
_ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NDTcl4implISL_EEE4typeE
Line
Count
Source
2307
90
{
2308
90
    auto it = read_code_unit(range);
2309
90
    if (SCN_UNLIKELY(!it)) {
2310
8
        return unexpected(make_eof_parse_error(it.error()));
2311
8
    }
2312
2313
82
    if (SCN_UNLIKELY(*range.begin() !=
2314
82
                     static_cast<detail::char_t<Range>>(ch))) {
2315
64
        return unexpected(parse_error::error);
2316
64
    }
2317
2318
18
    return *it;
2319
82
}
_ZN3scn2v44impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NDTcl4implISD_EEE4typeE
Line
Count
Source
2307
1.85k
{
2308
1.85k
    auto it = read_code_unit(range);
2309
1.85k
    if (SCN_UNLIKELY(!it)) {
2310
0
        return unexpected(make_eof_parse_error(it.error()));
2311
0
    }
2312
2313
1.85k
    if (SCN_UNLIKELY(*range.begin() !=
2314
1.85k
                     static_cast<detail::char_t<Range>>(ch))) {
2315
1.78k
        return unexpected(parse_error::error);
2316
1.78k
    }
2317
2318
68
    return *it;
2319
1.85k
}
_ZN3scn2v44impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NDTcl4implISF_EEE4typeE
Line
Count
Source
2307
696
{
2308
696
    auto it = read_code_unit(range);
2309
696
    if (SCN_UNLIKELY(!it)) {
2310
0
        return unexpected(make_eof_parse_error(it.error()));
2311
0
    }
2312
2313
696
    if (SCN_UNLIKELY(*range.begin() !=
2314
696
                     static_cast<detail::char_t<Range>>(ch))) {
2315
696
        return unexpected(parse_error::error);
2316
696
    }
2317
2318
0
    return *it;
2319
696
}
Unexecuted instantiation: _ZN3scn2v44impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NDTcl4implISI_EEE4typeE
_ZN3scn2v44impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NDTcl4implISF_EEE4typeE
Line
Count
Source
2307
380
{
2308
380
    auto it = read_code_unit(range);
2309
380
    if (SCN_UNLIKELY(!it)) {
2310
0
        return unexpected(make_eof_parse_error(it.error()));
2311
0
    }
2312
2313
380
    if (SCN_UNLIKELY(*range.begin() !=
2314
380
                     static_cast<detail::char_t<Range>>(ch))) {
2315
356
        return unexpected(parse_error::error);
2316
356
    }
2317
2318
24
    return *it;
2319
380
}
Unexecuted instantiation: _ZN3scn2v44impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NDTcl4implISI_EEE4typeE
2320
2321
template <typename Range>
2322
auto read_matching_code_point(Range range, char32_t cp)
2323
    -> parse_expected<ranges::const_iterator_t<Range>>
2324
{
2325
    auto val = read_code_point_into(range);
2326
    if (!val.is_valid()) {
2327
        return unexpected(parse_error::error);
2328
    }
2329
    auto decoded_cp = decode_code_point_exhaustive(val.codepoint);
2330
    if (SCN_UNLIKELY(cp != decoded_cp)) {
2331
        return unexpected(parse_error::error);
2332
    }
2333
    return val.iterator;
2334
}
2335
2336
template <typename Range>
2337
auto read_matching_string(Range range,
2338
                          std::basic_string_view<detail::char_t<Range>> str)
2339
    -> parse_expected<ranges::const_iterator_t<Range>>
2340
96
{
2341
96
    SCN_TRY(it, read_exactly_n_code_units(
2342
60
                    range, static_cast<std::ptrdiff_t>(str.size()))
2343
60
                    .transform_error(make_eof_parse_error));
2344
2345
60
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2346
60
    if (SCN_UNLIKELY(sv.view() != str)) {
2347
60
        return unexpected(parse_error::error);
2348
60
    }
2349
0
    return it;
2350
60
}
_ZN3scn2v44impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewINDTcl4implISF_EEE4typeENSD_11char_traitsISN_EEEE
Line
Count
Source
2340
28
{
2341
28
    SCN_TRY(it, read_exactly_n_code_units(
2342
14
                    range, static_cast<std::ptrdiff_t>(str.size()))
2343
14
                    .transform_error(make_eof_parse_error));
2344
2345
14
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2346
14
    if (SCN_UNLIKELY(sv.view() != str)) {
2347
14
        return unexpected(parse_error::error);
2348
14
    }
2349
0
    return it;
2350
14
}
_ZN3scn2v44impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewINDTcl4implISD_EEE4typeENSB_11char_traitsISL_EEEE
Line
Count
Source
2340
16
{
2341
16
    SCN_TRY(it, read_exactly_n_code_units(
2342
14
                    range, static_cast<std::ptrdiff_t>(str.size()))
2343
14
                    .transform_error(make_eof_parse_error));
2344
2345
14
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2346
14
    if (SCN_UNLIKELY(sv.view() != str)) {
2347
14
        return unexpected(parse_error::error);
2348
14
    }
2349
0
    return it;
2350
14
}
Unexecuted instantiation: _ZN3scn2v44impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewINDTcl4implISI_EEE4typeENSG_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewINDTcl4implISG_EEE4typeENSE_11char_traitsISO_EEEE
_ZN3scn2v44impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewINDTcl4implISF_EEE4typeENSD_11char_traitsISN_EEEE
Line
Count
Source
2340
28
{
2341
28
    SCN_TRY(it, read_exactly_n_code_units(
2342
10
                    range, static_cast<std::ptrdiff_t>(str.size()))
2343
10
                    .transform_error(make_eof_parse_error));
2344
2345
10
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2346
10
    if (SCN_UNLIKELY(sv.view() != str)) {
2347
10
        return unexpected(parse_error::error);
2348
10
    }
2349
0
    return it;
2350
10
}
_ZN3scn2v44impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewINDTcl4implISD_EEE4typeENSB_11char_traitsISL_EEEE
Line
Count
Source
2340
24
{
2341
24
    SCN_TRY(it, read_exactly_n_code_units(
2342
22
                    range, static_cast<std::ptrdiff_t>(str.size()))
2343
22
                    .transform_error(make_eof_parse_error));
2344
2345
22
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2346
22
    if (SCN_UNLIKELY(sv.view() != str)) {
2347
22
        return unexpected(parse_error::error);
2348
22
    }
2349
0
    return it;
2350
22
}
Unexecuted instantiation: _ZN3scn2v44impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewINDTcl4implISI_EEE4typeENSG_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewINDTcl4implISG_EEE4typeENSE_11char_traitsISO_EEEE
2351
2352
template <typename Range>
2353
auto read_matching_string_classic(Range range, std::string_view str)
2354
    -> parse_expected<ranges::const_iterator_t<Range>>
2355
4.98k
{
2356
4.98k
    SCN_TRY(it, read_exactly_n_code_units(
2357
4.42k
                    range, static_cast<std::ptrdiff_t>(str.size()))
2358
4.42k
                    .transform_error(make_eof_parse_error));
2359
2360
4.42k
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2361
2.63k
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2362
2.63k
        if (SCN_UNLIKELY(sv.view() != str)) {
2363
2.63k
            return unexpected(parse_error::error);
2364
2.63k
        }
2365
0
        return it;
2366
    }
2367
1.79k
    else {
2368
1.79k
        auto range_it = range.begin();
2369
1.79k
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2370
1.79k
            if (SCN_UNLIKELY(*range_it !=
2371
1.79k
                             static_cast<detail::char_t<Range>>(str[i]))) {
2372
1.79k
                return unexpected(parse_error::error);
2373
1.79k
            }
2374
1.79k
        }
2375
0
        return it;
2376
1.79k
    }
2377
4.42k
}
_ZN3scn2v44impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2355
2.07k
{
2356
2.07k
    SCN_TRY(it, read_exactly_n_code_units(
2357
1.97k
                    range, static_cast<std::ptrdiff_t>(str.size()))
2358
1.97k
                    .transform_error(make_eof_parse_error));
2359
2360
1.97k
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2361
1.97k
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2362
1.97k
        if (SCN_UNLIKELY(sv.view() != str)) {
2363
1.97k
            return unexpected(parse_error::error);
2364
1.97k
        }
2365
0
        return it;
2366
    }
2367
    else {
2368
        auto range_it = range.begin();
2369
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2370
            if (SCN_UNLIKELY(*range_it !=
2371
                             static_cast<detail::char_t<Range>>(str[i]))) {
2372
                return unexpected(parse_error::error);
2373
            }
2374
        }
2375
        return it;
2376
    }
2377
1.97k
}
Unexecuted instantiation: _ZN3scn2v44impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
_ZN3scn2v44impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2355
836
{
2356
836
    SCN_TRY(it, read_exactly_n_code_units(
2357
666
                    range, static_cast<std::ptrdiff_t>(str.size()))
2358
666
                    .transform_error(make_eof_parse_error));
2359
2360
666
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2361
666
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2362
666
        if (SCN_UNLIKELY(sv.view() != str)) {
2363
666
            return unexpected(parse_error::error);
2364
666
        }
2365
0
        return it;
2366
    }
2367
    else {
2368
        auto range_it = range.begin();
2369
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2370
            if (SCN_UNLIKELY(*range_it !=
2371
                             static_cast<detail::char_t<Range>>(str[i]))) {
2372
                return unexpected(parse_error::error);
2373
            }
2374
        }
2375
        return it;
2376
    }
2377
666
}
Unexecuted instantiation: _ZN3scn2v44impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
_ZN3scn2v44impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2355
1.73k
{
2356
1.73k
    SCN_TRY(it, read_exactly_n_code_units(
2357
1.56k
                    range, static_cast<std::ptrdiff_t>(str.size()))
2358
1.56k
                    .transform_error(make_eof_parse_error));
2359
2360
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2361
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2362
        if (SCN_UNLIKELY(sv.view() != str)) {
2363
            return unexpected(parse_error::error);
2364
        }
2365
        return it;
2366
    }
2367
1.56k
    else {
2368
1.56k
        auto range_it = range.begin();
2369
1.56k
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2370
1.56k
            if (SCN_UNLIKELY(*range_it !=
2371
1.56k
                             static_cast<detail::char_t<Range>>(str[i]))) {
2372
1.56k
                return unexpected(parse_error::error);
2373
1.56k
            }
2374
1.56k
        }
2375
0
        return it;
2376
1.56k
    }
2377
1.56k
}
_ZN3scn2v44impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2355
340
{
2356
340
    SCN_TRY(it, read_exactly_n_code_units(
2357
230
                    range, static_cast<std::ptrdiff_t>(str.size()))
2358
230
                    .transform_error(make_eof_parse_error));
2359
2360
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2361
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2362
        if (SCN_UNLIKELY(sv.view() != str)) {
2363
            return unexpected(parse_error::error);
2364
        }
2365
        return it;
2366
    }
2367
230
    else {
2368
230
        auto range_it = range.begin();
2369
230
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2370
230
            if (SCN_UNLIKELY(*range_it !=
2371
230
                             static_cast<detail::char_t<Range>>(str[i]))) {
2372
230
                return unexpected(parse_error::error);
2373
230
            }
2374
230
        }
2375
0
        return it;
2376
230
    }
2377
230
}
Unexecuted instantiation: _ZN3scn2v44impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
2378
2379
// Ripped from fast_float
2380
constexpr bool fast_streq_nocase(const char* a, const char* b, size_t len)
2381
3.80k
{
2382
3.80k
    unsigned char running_diff{0};
2383
13.3k
    for (size_t i = 0; i < len; ++i) {
2384
9.49k
        running_diff |= static_cast<unsigned char>(a[i] ^ b[i]);
2385
9.49k
    }
2386
3.80k
    return running_diff == 0 || running_diff == 32;
2387
3.80k
}
2388
2389
template <typename Range>
2390
auto read_matching_string_classic_nocase(Range range, std::string_view str)
2391
    -> parse_expected<ranges::const_iterator_t<Range>>
2392
10.0k
{
2393
10.0k
    using char_type = detail::char_t<Range>;
2394
2395
    if constexpr (ranges::contiguous_range<Range> &&
2396
3.81k
                  std::is_same_v<char_type, char>) {
2397
3.81k
        if (range.size() < str.size()) {
2398
8
            return unexpected(make_eof_parse_error(eof_error::eof));
2399
8
        }
2400
3.80k
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2401
3.80k
            return unexpected(parse_error::error);
2402
3.80k
        }
2403
0
        return ranges::next(range.begin(),
2404
0
                            static_cast<std::ptrdiff_t>(str.size()));
2405
    }
2406
6.19k
    else {
2407
6.19k
        auto ascii_tolower = [](char_type ch) -> char_type {
2408
5.90k
            if (ch < 'A' || ch > 'Z') {
2409
5.90k
                return ch;
2410
5.90k
            }
2411
0
            return static_cast<char_type>(ch +
2412
0
                                          static_cast<char_type>('a' - 'A'));
2413
5.90k
        };
Unexecuted instantiation: _ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEEENKUlcE_clEc
_ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEENKUlcE_clEc
Line
Count
Source
2407
1.20k
        auto ascii_tolower = [](char_type ch) -> char_type {
2408
1.20k
            if (ch < 'A' || ch > 'Z') {
2409
1.20k
                return ch;
2410
1.20k
            }
2411
0
            return static_cast<char_type>(ch +
2412
0
                                          static_cast<char_type>('a' - 'A'));
2413
1.20k
        };
Unexecuted instantiation: _ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEEENKUlwE_clEw
_ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEENKUlwE_clEw
Line
Count
Source
2407
714
        auto ascii_tolower = [](char_type ch) -> char_type {
2408
714
            if (ch < 'A' || ch > 'Z') {
2409
714
                return ch;
2410
714
            }
2411
0
            return static_cast<char_type>(ch +
2412
0
                                          static_cast<char_type>('a' - 'A'));
2413
714
        };
_ZZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEEENKUlwE_clEw
Line
Count
Source
2407
3.98k
        auto ascii_tolower = [](char_type ch) -> char_type {
2408
3.98k
            if (ch < 'A' || ch > 'Z') {
2409
3.98k
                return ch;
2410
3.98k
            }
2411
0
            return static_cast<char_type>(ch +
2412
0
                                          static_cast<char_type>('a' - 'A'));
2413
3.98k
        };
2414
2415
6.19k
        SCN_TRY(it, read_exactly_n_code_units(
2416
5.69k
                        range, static_cast<std::ptrdiff_t>(str.size()))
2417
5.69k
                        .transform_error(make_eof_parse_error));
2418
2419
5.69k
        if (SCN_UNLIKELY(!std::equal(
2420
5.69k
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2421
5.69k
                    return ascii_tolower(a) ==
2422
5.69k
                           static_cast<detail::char_t<Range>>(b);
2423
5.69k
                }))) {
2424
5.69k
            return unexpected(parse_error::error);
2425
5.69k
        }
2426
2427
0
        return it;
2428
5.69k
    }
2429
10.0k
}
Unexecuted instantiation: _ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
_ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
Line
Count
Source
2392
1.46k
{
2393
1.46k
    using char_type = detail::char_t<Range>;
2394
2395
    if constexpr (ranges::contiguous_range<Range> &&
2396
                  std::is_same_v<char_type, char>) {
2397
        if (range.size() < str.size()) {
2398
            return unexpected(make_eof_parse_error(eof_error::eof));
2399
        }
2400
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2401
            return unexpected(parse_error::error);
2402
        }
2403
        return ranges::next(range.begin(),
2404
                            static_cast<std::ptrdiff_t>(str.size()));
2405
    }
2406
1.46k
    else {
2407
1.46k
        auto ascii_tolower = [](char_type ch) -> char_type {
2408
1.46k
            if (ch < 'A' || ch > 'Z') {
2409
1.46k
                return ch;
2410
1.46k
            }
2411
1.46k
            return static_cast<char_type>(ch +
2412
1.46k
                                          static_cast<char_type>('a' - 'A'));
2413
1.46k
        };
2414
2415
1.46k
        SCN_TRY(it, read_exactly_n_code_units(
2416
1.20k
                        range, static_cast<std::ptrdiff_t>(str.size()))
2417
1.20k
                        .transform_error(make_eof_parse_error));
2418
2419
1.20k
        if (SCN_UNLIKELY(!std::equal(
2420
1.20k
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2421
1.20k
                    return ascii_tolower(a) ==
2422
1.20k
                           static_cast<detail::char_t<Range>>(b);
2423
1.20k
                }))) {
2424
1.20k
            return unexpected(parse_error::error);
2425
1.20k
        }
2426
2427
0
        return it;
2428
1.20k
    }
2429
1.46k
}
_ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2392
3.81k
{
2393
3.81k
    using char_type = detail::char_t<Range>;
2394
2395
    if constexpr (ranges::contiguous_range<Range> &&
2396
3.81k
                  std::is_same_v<char_type, char>) {
2397
3.81k
        if (range.size() < str.size()) {
2398
8
            return unexpected(make_eof_parse_error(eof_error::eof));
2399
8
        }
2400
3.80k
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2401
3.80k
            return unexpected(parse_error::error);
2402
3.80k
        }
2403
0
        return ranges::next(range.begin(),
2404
0
                            static_cast<std::ptrdiff_t>(str.size()));
2405
    }
2406
    else {
2407
        auto ascii_tolower = [](char_type ch) -> char_type {
2408
            if (ch < 'A' || ch > 'Z') {
2409
                return ch;
2410
            }
2411
            return static_cast<char_type>(ch +
2412
                                          static_cast<char_type>('a' - 'A'));
2413
        };
2414
2415
        SCN_TRY(it, read_exactly_n_code_units(
2416
                        range, static_cast<std::ptrdiff_t>(str.size()))
2417
                        .transform_error(make_eof_parse_error));
2418
2419
        if (SCN_UNLIKELY(!std::equal(
2420
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2421
                    return ascii_tolower(a) ==
2422
                           static_cast<detail::char_t<Range>>(b);
2423
                }))) {
2424
            return unexpected(parse_error::error);
2425
        }
2426
2427
        return it;
2428
    }
2429
3.81k
}
Unexecuted instantiation: _ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
_ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
Line
Count
Source
2392
890
{
2393
890
    using char_type = detail::char_t<Range>;
2394
2395
    if constexpr (ranges::contiguous_range<Range> &&
2396
                  std::is_same_v<char_type, char>) {
2397
        if (range.size() < str.size()) {
2398
            return unexpected(make_eof_parse_error(eof_error::eof));
2399
        }
2400
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2401
            return unexpected(parse_error::error);
2402
        }
2403
        return ranges::next(range.begin(),
2404
                            static_cast<std::ptrdiff_t>(str.size()));
2405
    }
2406
890
    else {
2407
890
        auto ascii_tolower = [](char_type ch) -> char_type {
2408
890
            if (ch < 'A' || ch > 'Z') {
2409
890
                return ch;
2410
890
            }
2411
890
            return static_cast<char_type>(ch +
2412
890
                                          static_cast<char_type>('a' - 'A'));
2413
890
        };
2414
2415
890
        SCN_TRY(it, read_exactly_n_code_units(
2416
660
                        range, static_cast<std::ptrdiff_t>(str.size()))
2417
660
                        .transform_error(make_eof_parse_error));
2418
2419
660
        if (SCN_UNLIKELY(!std::equal(
2420
660
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2421
660
                    return ascii_tolower(a) ==
2422
660
                           static_cast<detail::char_t<Range>>(b);
2423
660
                }))) {
2424
660
            return unexpected(parse_error::error);
2425
660
        }
2426
2427
0
        return it;
2428
660
    }
2429
890
}
_ZN3scn2v44impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2392
3.83k
{
2393
3.83k
    using char_type = detail::char_t<Range>;
2394
2395
    if constexpr (ranges::contiguous_range<Range> &&
2396
                  std::is_same_v<char_type, char>) {
2397
        if (range.size() < str.size()) {
2398
            return unexpected(make_eof_parse_error(eof_error::eof));
2399
        }
2400
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2401
            return unexpected(parse_error::error);
2402
        }
2403
        return ranges::next(range.begin(),
2404
                            static_cast<std::ptrdiff_t>(str.size()));
2405
    }
2406
3.83k
    else {
2407
3.83k
        auto ascii_tolower = [](char_type ch) -> char_type {
2408
3.83k
            if (ch < 'A' || ch > 'Z') {
2409
3.83k
                return ch;
2410
3.83k
            }
2411
3.83k
            return static_cast<char_type>(ch +
2412
3.83k
                                          static_cast<char_type>('a' - 'A'));
2413
3.83k
        };
2414
2415
3.83k
        SCN_TRY(it, read_exactly_n_code_units(
2416
3.83k
                        range, static_cast<std::ptrdiff_t>(str.size()))
2417
3.83k
                        .transform_error(make_eof_parse_error));
2418
2419
3.83k
        if (SCN_UNLIKELY(!std::equal(
2420
3.83k
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2421
3.83k
                    return ascii_tolower(a) ==
2422
3.83k
                           static_cast<detail::char_t<Range>>(b);
2423
3.83k
                }))) {
2424
3.83k
            return unexpected(parse_error::error);
2425
3.83k
        }
2426
2427
0
        return it;
2428
3.83k
    }
2429
3.83k
}
2430
2431
template <typename Range>
2432
auto read_one_of_code_unit(Range range, std::string_view str)
2433
    -> parse_expected<ranges::const_iterator_t<Range>>
2434
9.64k
{
2435
9.64k
    auto it = read_code_unit(range);
2436
9.64k
    if (SCN_UNLIKELY(!it)) {
2437
6
        return unexpected(make_eof_parse_error(it.error()));
2438
6
    }
2439
2440
19.2k
    for (auto ch : str) {
2441
19.2k
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2442
0
            return *it;
2443
0
        }
2444
19.2k
    }
2445
2446
9.64k
    return unexpected(parse_error::error);
2447
9.64k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
_ZN3scn2v44impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2434
1.38k
{
2435
1.38k
    auto it = read_code_unit(range);
2436
1.38k
    if (SCN_UNLIKELY(!it)) {
2437
0
        return unexpected(make_eof_parse_error(it.error()));
2438
0
    }
2439
2440
2.77k
    for (auto ch : str) {
2441
2.77k
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2442
0
            return *it;
2443
0
        }
2444
2.77k
    }
2445
2446
1.38k
    return unexpected(parse_error::error);
2447
1.38k
}
_ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2434
3.76k
{
2435
3.76k
    auto it = read_code_unit(range);
2436
3.76k
    if (SCN_UNLIKELY(!it)) {
2437
0
        return unexpected(make_eof_parse_error(it.error()));
2438
0
    }
2439
2440
7.52k
    for (auto ch : str) {
2441
7.52k
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2442
0
            return *it;
2443
0
        }
2444
7.52k
    }
2445
2446
3.76k
    return unexpected(parse_error::error);
2447
3.76k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
_ZN3scn2v44impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2434
784
{
2435
784
    auto it = read_code_unit(range);
2436
784
    if (SCN_UNLIKELY(!it)) {
2437
0
        return unexpected(make_eof_parse_error(it.error()));
2438
0
    }
2439
2440
1.56k
    for (auto ch : str) {
2441
1.56k
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2442
0
            return *it;
2443
0
        }
2444
1.56k
    }
2445
2446
784
    return unexpected(parse_error::error);
2447
784
}
_ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2434
3.69k
{
2435
3.69k
    auto it = read_code_unit(range);
2436
3.69k
    if (SCN_UNLIKELY(!it)) {
2437
0
        return unexpected(make_eof_parse_error(it.error()));
2438
0
    }
2439
2440
7.38k
    for (auto ch : str) {
2441
7.38k
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2442
0
            return *it;
2443
0
        }
2444
7.38k
    }
2445
2446
3.69k
    return unexpected(parse_error::error);
2447
3.69k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
_ZN3scn2v44impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
Line
Count
Source
2434
20
{
2435
20
    auto it = read_code_unit(range);
2436
20
    if (SCN_UNLIKELY(!it)) {
2437
6
        return unexpected(make_eof_parse_error(it.error()));
2438
6
    }
2439
2440
28
    for (auto ch : str) {
2441
28
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2442
0
            return *it;
2443
0
        }
2444
28
    }
2445
2446
14
    return unexpected(parse_error::error);
2447
14
}
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_14parse_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEESB_S7_
Unexecuted instantiation: _ZN3scn2v44impl21read_one_of_code_unitINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_14parse_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEESB_NS4_IcNS5_IcEEEE
2448
2449
template <typename Range, template <class> class Expected, typename Iterator>
2450
auto apply_opt(Expected<Iterator>&& result, Range range)
2451
    -> std::enable_if_t<detail::is_expected<Expected<Iterator>>::value,
2452
                        ranges::const_iterator_t<Range>>
2453
2.48k
{
2454
2.48k
    if (!result) {
2455
2.47k
        return range.begin();
2456
2.47k
    }
2457
12
    return *result;
2458
2.48k
}
Unexecuted instantiation: _ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENS1_14parse_expectedESE_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEEE4typeEOSQ_SS_
Unexecuted instantiation: _ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_14parse_expectedESA_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEE4typeEOSI_SK_
_ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENS1_14parse_expectedESB_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEEE4typeEOSN_SP_
Line
Count
Source
2453
352
{
2454
352
    if (!result) {
2455
352
        return range.begin();
2456
352
    }
2457
0
    return *result;
2458
352
}
_ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeIPKcS8_EENS1_14parse_expectedES8_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEEE4typeEOSF_SH_
Line
Count
Source
2453
958
{
2454
958
    if (!result) {
2455
958
        return range.begin();
2456
958
    }
2457
0
    return *result;
2458
958
}
Unexecuted instantiation: _ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENS1_14parse_expectedESE_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEEE4typeEOSQ_SS_
Unexecuted instantiation: _ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_14parse_expectedESA_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEE4typeEOSI_SK_
_ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENS1_14parse_expectedESB_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEEE4typeEOSN_SP_
Line
Count
Source
2453
224
{
2454
224
    if (!result) {
2455
218
        return range.begin();
2456
218
    }
2457
6
    return *result;
2458
224
}
_ZN3scn2v44impl9apply_optINS0_6ranges6detail9subrange_8subrangeIPKwS8_EENS1_14parse_expectedES8_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEEE4typeEOSF_SH_
Line
Count
Source
2453
954
{
2454
954
    if (!result) {
2455
948
        return range.begin();
2456
948
    }
2457
6
    return *result;
2458
954
}
2459
2460
/////////////////////////////////////////////////////////////////
2461
// Text width calculation
2462
/////////////////////////////////////////////////////////////////
2463
2464
constexpr std::size_t calculate_text_width_for_fmt_v10(char32_t cp)
2465
159k
{
2466
159k
    if (cp >= 0x1100 &&
2467
159k
        (cp <= 0x115f ||  // Hangul Jamo init. consonants
2468
39.6k
         cp == 0x2329 ||  // LEFT-POINTING ANGLE BRACKET
2469
39.6k
         cp == 0x232a ||  // RIGHT-POINTING ANGLE BRACKET
2470
         // CJK ... Yi except IDEOGRAPHIC HALF FILL SPACE:
2471
39.6k
         (cp >= 0x2e80 && cp <= 0xa4cf && cp != 0x303f) ||
2472
39.6k
         (cp >= 0xac00 && cp <= 0xd7a3) ||    // Hangul Syllables
2473
39.6k
         (cp >= 0xf900 && cp <= 0xfaff) ||    // CJK Compatibility Ideographs
2474
39.6k
         (cp >= 0xfe10 && cp <= 0xfe19) ||    // Vertical Forms
2475
39.6k
         (cp >= 0xfe30 && cp <= 0xfe6f) ||    // CJK Compatibility Forms
2476
39.6k
         (cp >= 0xff00 && cp <= 0xff60) ||    // Fullwidth Forms
2477
39.6k
         (cp >= 0xffe0 && cp <= 0xffe6) ||    // Fullwidth Forms
2478
39.6k
         (cp >= 0x20000 && cp <= 0x2fffd) ||  // CJK
2479
39.6k
         (cp >= 0x30000 && cp <= 0x3fffd) ||
2480
         // Miscellaneous Symbols and Pictographs + Emoticons:
2481
39.6k
         (cp >= 0x1f300 && cp <= 0x1f64f) ||
2482
         // Supplemental Symbols and Pictographs:
2483
39.6k
         (cp >= 0x1f900 && cp <= 0x1f9ff))) {
2484
4.50k
        return 2;
2485
4.50k
    }
2486
154k
    return 1;
2487
159k
}
2488
2489
constexpr std::size_t calculate_valid_text_width(char32_t cp)
2490
102k
{
2491
102k
    return calculate_text_width_for_fmt_v10(cp);
2492
102k
}
2493
2494
template <typename CharT>
2495
std::size_t calculate_valid_text_width(std::basic_string_view<CharT> input)
2496
{
2497
    size_t count{0};
2498
    for_each_code_point_valid(input, [&count](char32_t cp) {
2499
        count += calculate_text_width_for_fmt_v10(cp);
2500
    });
2501
    return count;
2502
}
2503
2504
constexpr std::size_t calculate_text_width(char32_t cp)
2505
244
{
2506
244
    return calculate_text_width_for_fmt_v10(cp);
2507
244
}
2508
2509
template <typename CharT>
2510
std::size_t calculate_text_width(std::basic_string_view<CharT> input)
2511
43.8k
{
2512
43.8k
    size_t count{0};
2513
57.0k
    for_each_code_point(input, [&count](char32_t cp) {
2514
57.0k
        count += calculate_text_width_for_fmt_v10(cp);
2515
57.0k
    });
scn::v4::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}::operator()(char32_t) const
Line
Count
Source
2513
48.1k
    for_each_code_point(input, [&count](char32_t cp) {
2514
48.1k
        count += calculate_text_width_for_fmt_v10(cp);
2515
48.1k
    });
scn::v4::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}::operator()(char32_t) const
Line
Count
Source
2513
8.87k
    for_each_code_point(input, [&count](char32_t cp) {
2514
8.87k
        count += calculate_text_width_for_fmt_v10(cp);
2515
8.87k
    });
2516
43.8k
    return count;
2517
43.8k
}
unsigned long scn::v4::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
2511
40.4k
{
2512
40.4k
    size_t count{0};
2513
40.4k
    for_each_code_point(input, [&count](char32_t cp) {
2514
40.4k
        count += calculate_text_width_for_fmt_v10(cp);
2515
40.4k
    });
2516
40.4k
    return count;
2517
40.4k
}
unsigned long scn::v4::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
2511
3.44k
{
2512
3.44k
    size_t count{0};
2513
3.44k
    for_each_code_point(input, [&count](char32_t cp) {
2514
3.44k
        count += calculate_text_width_for_fmt_v10(cp);
2515
3.44k
    });
2516
3.44k
    return count;
2517
3.44k
}
2518
2519
namespace counted_width_iterator_impl {
2520
template <typename It, typename S>
2521
class counted_width_iterator {
2522
    static_assert(ranges::forward_iterator<It>);
2523
    static_assert(ranges::sentinel_for<S, It>);
2524
2525
    template <typename OtherIt, typename OtherS>
2526
    friend class counted_width_iterator;
2527
2528
public:
2529
    using iterator = It;
2530
    using sentinel = S;
2531
    using value_type = ranges::iter_value_t<It>;
2532
    using pointer = value_type*;
2533
    using reference = value_type&;
2534
    using difference_type = ranges::iter_difference_t<It>;
2535
    using iterator_category =
2536
        std::conditional_t<ranges::bidirectional_iterator<It>,
2537
                           std::bidirectional_iterator_tag,
2538
                           std::forward_iterator_tag>;
2539
2540
    constexpr counted_width_iterator() = default;
2541
2542
    constexpr counted_width_iterator(iterator x, sentinel s, difference_type n)
2543
47.7k
        : m_current(x), m_end(s), m_count(n)
2544
47.7k
    {
2545
47.7k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::counted_width_iterator(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, long)
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::counted_width_iterator(scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t, long)
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::counted_width_iterator(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>, long)
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::counted_width_iterator(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>, long)
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::counted_width_iterator(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t, long)
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::counted_width_iterator(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>, long)
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::counted_width_iterator(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, long)
Line
Count
Source
2543
5.64k
        : m_current(x), m_end(s), m_count(n)
2544
5.64k
    {
2545
5.64k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::counted_width_iterator(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, long)
Line
Count
Source
2543
2.91k
        : m_current(x), m_end(s), m_count(n)
2544
2.91k
    {
2545
2.91k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::counted_width_iterator(char const*, char const*, long)
Line
Count
Source
2543
25.5k
        : m_current(x), m_end(s), m_count(n)
2544
25.5k
    {
2545
25.5k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::counted_width_iterator(wchar_t const*, wchar_t const*, long)
Line
Count
Source
2543
13.7k
        : m_current(x), m_end(s), m_count(n)
2544
13.7k
    {
2545
13.7k
    }
2546
2547
    template <typename OtherIt,
2548
              typename OtherS,
2549
              std::enable_if_t<std::is_convertible_v<OtherIt, It> &&
2550
                               std::is_convertible_v<OtherS, S>>* = nullptr>
2551
    constexpr counted_width_iterator(
2552
        const counted_width_iterator<OtherIt, OtherS>& other)
2553
        : m_current(other.m_current),
2554
          m_end(other.m_end),
2555
          m_count(other.m_count),
2556
          m_multibyte_left(other.m_multibyte_left)
2557
    {
2558
    }
2559
2560
    template <typename OtherIt, typename OtherS>
2561
    constexpr auto operator=(
2562
        const counted_width_iterator<OtherIt, OtherS>& other)
2563
        -> std::enable_if_t<std::is_convertible_v<OtherIt, It> &&
2564
                                std::is_convertible_v<OtherS, S>,
2565
                            counted_width_iterator&>
2566
    {
2567
        m_current = other.m_current;
2568
        m_end = other.m_end;
2569
        m_count = other.m_count;
2570
        m_multibyte_left = other.m_multibyte_left;
2571
        return *this;
2572
    }
2573
2574
    constexpr It base() const
2575
229k
    {
2576
229k
        return m_current;
2577
229k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::base() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::base() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::base() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::base() const
Line
Count
Source
2575
152k
    {
2576
152k
        return m_current;
2577
152k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::base() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::base() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::base() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::base() const
Line
Count
Source
2575
49.4k
    {
2576
49.4k
        return m_current;
2577
49.4k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::base() const
Line
Count
Source
2575
20.2k
    {
2576
20.2k
        return m_current;
2577
20.2k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::base() const
Line
Count
Source
2575
6.83k
    {
2576
6.83k
        return m_current;
2577
6.83k
    }
2578
    constexpr difference_type count() const
2579
446k
    {
2580
446k
        return m_count;
2581
446k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::count() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::count() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::count() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::count() const
Line
Count
Source
2579
298k
    {
2580
298k
        return m_count;
2581
298k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::count() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::count() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::count() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::count() const
Line
Count
Source
2579
94.9k
    {
2580
94.9k
        return m_count;
2581
94.9k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::count() const
Line
Count
Source
2579
39.4k
    {
2580
39.4k
        return m_count;
2581
39.4k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::count() const
Line
Count
Source
2579
13.0k
    {
2580
13.0k
        return m_count;
2581
13.0k
    }
2582
    constexpr difference_type multibyte_left() const
2583
37.0k
    {
2584
37.0k
        return m_multibyte_left;
2585
37.0k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::multibyte_left() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::multibyte_left() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::multibyte_left() const
Line
Count
Source
2583
28.2k
    {
2584
28.2k
        return m_multibyte_left;
2585
28.2k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::multibyte_left() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::multibyte_left() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::multibyte_left() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::multibyte_left() const
Line
Count
Source
2583
4.57k
    {
2584
4.57k
        return m_multibyte_left;
2585
4.57k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::multibyte_left() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::multibyte_left() const
Line
Count
Source
2583
3.34k
    {
2584
3.34k
        return m_multibyte_left;
2585
3.34k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::multibyte_left() const
Line
Count
Source
2583
938
    {
2584
938
        return m_multibyte_left;
2585
938
    }
2586
2587
    bool is_current_double_wide() const
2588
14.6k
    {
2589
14.6k
        assert(count() != 0 || multibyte_left() != 0);
2590
14.6k
        return _get_width_at_current_cp_start(_get_cp_length_at_current()) == 2;
2591
14.6k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::is_current_double_wide() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::is_current_double_wide() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::is_current_double_wide() const
Line
Count
Source
2588
8.69k
    {
2589
8.69k
        assert(count() != 0 || multibyte_left() != 0);
2590
8.69k
        return _get_width_at_current_cp_start(_get_cp_length_at_current()) == 2;
2591
8.69k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::is_current_double_wide() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::is_current_double_wide() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::is_current_double_wide() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::is_current_double_wide() const
Line
Count
Source
2588
3.75k
    {
2589
3.75k
        assert(count() != 0 || multibyte_left() != 0);
2590
3.75k
        return _get_width_at_current_cp_start(_get_cp_length_at_current()) == 2;
2591
3.75k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::is_current_double_wide() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::is_current_double_wide() const
Line
Count
Source
2588
1.55k
    {
2589
1.55k
        assert(count() != 0 || multibyte_left() != 0);
2590
1.55k
        return _get_width_at_current_cp_start(_get_cp_length_at_current()) == 2;
2591
1.55k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::is_current_double_wide() const
Line
Count
Source
2588
672
    {
2589
672
        assert(count() != 0 || multibyte_left() != 0);
2590
672
        return _get_width_at_current_cp_start(_get_cp_length_at_current()) == 2;
2591
672
    }
2592
2593
    constexpr decltype(auto) operator*()
2594
193k
    {
2595
193k
        return *m_current;
2596
193k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::operator*()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::operator*()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::operator*()
Line
Count
Source
2594
132k
    {
2595
132k
        return *m_current;
2596
132k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::operator*()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::operator*()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::operator*()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::operator*()
Line
Count
Source
2594
45.7k
    {
2595
45.7k
        return *m_current;
2596
45.7k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::operator*()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::operator*()
Line
Count
Source
2594
11.4k
    {
2595
11.4k
        return *m_current;
2596
11.4k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::operator*()
Line
Count
Source
2594
4.15k
    {
2595
4.15k
        return *m_current;
2596
4.15k
    }
2597
    constexpr decltype(auto) operator*() const
2598
20.1k
    {
2599
20.1k
        return *m_current;
2600
20.1k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::operator*() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::operator*() const
Line
Count
Source
2598
14.7k
    {
2599
14.7k
        return *m_current;
2600
14.7k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::operator*() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::operator*() const
Line
Count
Source
2598
5.32k
    {
2599
5.32k
        return *m_current;
2600
5.32k
    }
2601
2602
    constexpr counted_width_iterator& operator++()
2603
212k
    {
2604
212k
        SCN_EXPECT(m_current != m_end);
2605
212k
        _increment_current();
2606
212k
        return *this;
2607
212k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::operator++()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::operator++()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::operator++()
Line
Count
Source
2603
161k
    {
2604
161k
        SCN_EXPECT(m_current != m_end);
2605
161k
        _increment_current();
2606
161k
        return *this;
2607
161k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::operator++()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::operator++()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::operator++()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::operator++()
Line
Count
Source
2603
33.3k
    {
2604
33.3k
        SCN_EXPECT(m_current != m_end);
2605
33.3k
        _increment_current();
2606
33.3k
        return *this;
2607
33.3k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::operator++()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::operator++()
Line
Count
Source
2603
15.7k
    {
2604
15.7k
        SCN_EXPECT(m_current != m_end);
2605
15.7k
        _increment_current();
2606
15.7k
        return *this;
2607
15.7k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::operator++()
Line
Count
Source
2603
1.99k
    {
2604
1.99k
        SCN_EXPECT(m_current != m_end);
2605
1.99k
        _increment_current();
2606
1.99k
        return *this;
2607
1.99k
    }
2608
2609
    constexpr counted_width_iterator operator++(int)
2610
    {
2611
        auto tmp = *this;
2612
        ++*this;
2613
        return tmp;
2614
    }
2615
2616
    template <typename Iter = It>
2617
    constexpr auto operator--()
2618
        -> std::enable_if_t<ranges::bidirectional_iterator<Iter>,
2619
                            counted_width_iterator&>
2620
0
    {
2621
0
        _decrement_current();
2622
0
        return *this;
2623
0
    }
Unexecuted instantiation: _ZN3scn2v44impl27counted_width_iterator_impl22counted_width_iteratorIPKcS5_EmmIS5_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERS6_E4typeEv
Unexecuted instantiation: _ZN3scn2v44impl27counted_width_iterator_impl22counted_width_iteratorINS3_IPKcS5_EENS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEE8sentinelILb1EEEEmmIS6_EENS8_9enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERSG_E4typeEv
Unexecuted instantiation: _ZN3scn2v44impl27counted_width_iterator_impl22counted_width_iteratorIPKwS5_EmmIS5_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERS6_E4typeEv
Unexecuted instantiation: _ZN3scn2v44impl27counted_width_iterator_impl22counted_width_iteratorINS3_IPKwS5_EENS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEE8sentinelILb1EEEEmmIS6_EENS8_9enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERSG_E4typeEv
Unexecuted instantiation: _ZN3scn2v44impl27counted_width_iterator_impl22counted_width_iteratorINS3_IPKcS5_EENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS5_S5_EEE8sentinelILb1EEEEmmIS6_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERSG_E4typeEv
Unexecuted instantiation: _ZN3scn2v44impl27counted_width_iterator_impl22counted_width_iteratorINS3_IPKwS5_EENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS5_S5_EEE8sentinelILb1EEEEmmIS6_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERSG_E4typeEv
2624
2625
    template <typename Iter = It>
2626
    constexpr auto operator--(int)
2627
        -> std::enable_if_t<ranges::bidirectional_iterator<Iter>,
2628
                            counted_width_iterator>
2629
    {
2630
        auto tmp = *this;
2631
        --*this;
2632
        return tmp;
2633
    }
2634
2635
    // TODO: optimize, make better than forward, if possible
2636
#if 0
2637
                template <typename Iter = It>
2638
                constexpr auto operator+(difference_type n) -> std::enable_if_t<
2639
                    ranges_std::random_access_iterator<Iter>,
2640
                    counted_width_iterator>
2641
                {
2642
                    // TODO
2643
                    return counted_width_iterator(m_current + n, m_count - n);
2644
                }
2645
2646
                template <typename Iter = It,
2647
                          std::enable_if_t<ranges_std::random_access_iterator<
2648
                              Iter>>* = nullptr>
2649
                friend constexpr counted_width_iterator operator+(
2650
                    ranges_std::iter_difference_t<Iter> n,
2651
                    const counted_width_iterator<Iter>& x)
2652
                {
2653
                    return x + n;
2654
                }
2655
2656
                template <typename Iter = It>
2657
                constexpr auto operator+=(difference_type n)
2658
                    -> std::enable_if_t<
2659
                        ranges_std::random_access_iterator<Iter>,
2660
                        counted_width_iterator&>
2661
                {
2662
                    // TODO
2663
                    m_current += n;
2664
                    m_count -= n;
2665
                    return *this;
2666
                }
2667
2668
                template <typename Iter = It>
2669
                constexpr auto operator-(difference_type n) -> std::enable_if_t<
2670
                    ranges_std::random_access_iterator<Iter>,
2671
                    counted_width_iterator>
2672
                {
2673
                    // TODO
2674
                    return counted_width_iterator(m_current - n, m_count + n);
2675
                }
2676
2677
                template <typename Iter = It,
2678
                          std::enable_if_t<ranges_std::random_access_iterator<
2679
                              Iter>>* = nullptr>
2680
                constexpr decltype(auto) operator[](difference_type n) const
2681
                {
2682
                    return m_current[n];
2683
                }
2684
#endif
2685
2686
    template <typename OtherIt, typename OtherS>
2687
    friend constexpr auto operator==(
2688
        const counted_width_iterator& a,
2689
        const counted_width_iterator<OtherIt, OtherS>& b)
2690
        -> decltype(SCN_DECLVAL(const It&) == SCN_DECLVAL(const OtherIt&))
2691
130k
    {
2692
130k
        return a.m_current == b.m_current;
2693
130k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::detail::basic_scan_buffer<char>::forward_iterator const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::detail::basic_scan_buffer<char>::forward_iterator const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<char const* const& (*scn::v4::impl::counted_width_iterator_impl::operator==<char const*, char const*>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&))()>(decltype(nullptr)))())==((static_cast<char const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2691
107k
    {
2692
107k
        return a.m_current == b.m_current;
2693
107k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<wchar_t const* const& (*scn::v4::impl::counted_width_iterator_impl::operator==<wchar_t const*, wchar_t const*>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&))()>(decltype(nullptr)))())==((static_cast<wchar_t const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2691
12.9k
    {
2692
12.9k
        return a.m_current == b.m_current;
2693
12.9k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2691
9.70k
    {
2692
9.70k
        return a.m_current == b.m_current;
2693
9.70k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator==<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*)()>(decltype(nullptr)))()))
2694
    template <typename OtherIt, typename OtherS>
2695
    friend constexpr auto operator!=(
2696
        const counted_width_iterator& a,
2697
        const counted_width_iterator<OtherIt, OtherS>& b)
2698
        -> decltype(SCN_DECLVAL(const It&) == SCN_DECLVAL(const OtherIt&))
2699
117k
    {
2700
117k
        return !(a == b);
2701
117k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::detail::basic_scan_buffer<char>::forward_iterator const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::detail::basic_scan_buffer<char>::forward_iterator const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<char const* const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<char const*, char const*>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&))()>(decltype(nullptr)))())==((static_cast<char const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2699
95.8k
    {
2700
95.8k
        return !(a == b);
2701
95.8k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<wchar_t const* const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<wchar_t const*, wchar_t const*>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&))()>(decltype(nullptr)))())==((static_cast<wchar_t const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2699
11.6k
    {
2700
11.6k
        return !(a == b);
2701
11.6k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2699
9.70k
    {
2700
9.70k
        return !(a == b);
2701
9.70k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*scn::v4::impl::counted_width_iterator_impl::operator!=<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*)()>(decltype(nullptr)))()))
2702
2703
    friend constexpr bool operator==(const counted_width_iterator& x,
2704
                                     ranges::default_sentinel_t)
2705
    {
2706
        return (x.count() == 0 && x.multibyte_left() == 0) ||
2707
               (x.count() == 1 && x.multibyte_left() == 0 &&
2708
                x.is_current_double_wide());
2709
    }
2710
    friend constexpr bool operator==(ranges::default_sentinel_t s,
2711
                                     const counted_width_iterator& x)
2712
    {
2713
        return x == s;
2714
    }
2715
2716
    friend constexpr bool operator!=(const counted_width_iterator& a,
2717
                                     ranges::default_sentinel_t b)
2718
    {
2719
        return !(a == b);
2720
    }
2721
    friend constexpr bool operator!=(ranges::default_sentinel_t a,
2722
                                     const counted_width_iterator& b)
2723
    {
2724
        return !(a == b);
2725
    }
2726
2727
    template <typename OtherIt, typename OtherS>
2728
    friend constexpr auto operator<(
2729
        const counted_width_iterator& a,
2730
        const counted_width_iterator<OtherIt, OtherS>& b)
2731
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2732
    {
2733
        if (a.count() == b.count()) {
2734
            return a.multibyte_left() > b.multibyte_left();
2735
        }
2736
2737
        return a.count() > b.count();
2738
    }
2739
2740
    template <typename OtherIt, typename OtherS>
2741
    friend constexpr auto operator>(
2742
        const counted_width_iterator& a,
2743
        const counted_width_iterator<OtherIt, OtherS>& b)
2744
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2745
    {
2746
        return !(b < a);
2747
    }
2748
2749
    template <typename OtherIt, typename OtherS>
2750
    friend constexpr auto operator<=(
2751
        const counted_width_iterator& a,
2752
        const counted_width_iterator<OtherIt, OtherS>& b)
2753
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2754
    {
2755
        return !(b < a);
2756
    }
2757
2758
    template <typename OtherIt, typename OtherS>
2759
    friend constexpr auto operator>=(
2760
        const counted_width_iterator& a,
2761
        const counted_width_iterator<OtherIt, OtherS>& b)
2762
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2763
    {
2764
        return !(a < b);
2765
    }
2766
2767
#if 0
2768
                template <typename OtherIt, typename OtherS>
2769
                friend constexpr auto operator-(
2770
                    const counted_width_iterator& a,
2771
                    const counted_width_iterator<OtherIt, OtherS>& b)
2772
                    -> std::enable_if_t<ranges_std::common_with<OtherIt, It>,
2773
                                        ranges_std::iter_difference_t<OtherIt>>
2774
                {
2775
                    // TODO
2776
                }
2777
2778
                friend constexpr ranges_std::iter_difference_t<It> operator-(
2779
                    const counted_width_iterator& x,
2780
                    ranges_std::default_sentinel_t)
2781
                {
2782
                    // TODO
2783
                }
2784
2785
                friend constexpr ranges_std::iter_difference_t<It> operator-(
2786
                    ranges_std::default_sentinel_t,
2787
                    const counted_width_iterator& x)
2788
                {
2789
                    // TODO
2790
                }
2791
#endif
2792
2793
#if 0
2794
                template <typename Iter = It>
2795
                constexpr auto operator-=(difference_type n)
2796
                    -> std::enable_if_t<
2797
                        ranges_std::random_access_iterator<Iter>,
2798
                        counted_width_iterator&>
2799
                {
2800
                    // TODO
2801
                    m_current -= n;
2802
                    m_count += n;
2803
                    return *this;
2804
                }
2805
#endif
2806
2807
private:
2808
    difference_type _get_cp_length_at_current() const
2809
142k
    {
2810
142k
        return static_cast<difference_type>(
2811
142k
            detail::code_point_length_by_starting_code_unit(*m_current));
2812
142k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::_get_cp_length_at_current() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::_get_cp_length_at_current() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_get_cp_length_at_current() const
Line
Count
Source
2809
92.7k
    {
2810
92.7k
        return static_cast<difference_type>(
2811
92.7k
            detail::code_point_length_by_starting_code_unit(*m_current));
2812
92.7k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::_get_cp_length_at_current() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::_get_cp_length_at_current() const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::_get_cp_length_at_current() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_get_cp_length_at_current() const
Line
Count
Source
2809
37.0k
    {
2810
37.0k
        return static_cast<difference_type>(
2811
37.0k
            detail::code_point_length_by_starting_code_unit(*m_current));
2812
37.0k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::_get_cp_length_at_current() const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::_get_cp_length_at_current() const
Line
Count
Source
2809
9.87k
    {
2810
9.87k
        return static_cast<difference_type>(
2811
9.87k
            detail::code_point_length_by_starting_code_unit(*m_current));
2812
9.87k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::_get_cp_length_at_current() const
Line
Count
Source
2809
2.66k
    {
2810
2.66k
        return static_cast<difference_type>(
2811
2.66k
            detail::code_point_length_by_starting_code_unit(*m_current));
2812
2.66k
    }
2813
2814
    difference_type _get_width_at_current_cp_start(difference_type cplen) const
2815
142k
    {
2816
142k
        if (SCN_UNLIKELY(cplen == 0)) {
2817
1.51k
            return 0;
2818
1.51k
        }
2819
2820
140k
        if (cplen == 1) {
2821
102k
            SCN_EXPECT(m_current != m_end);
2822
102k
            auto cp = static_cast<char32_t>(*m_current);
2823
102k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2824
102k
        }
2825
2826
38.6k
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2827
38.6k
                                           cplen);
2828
38.6k
        if (SCN_UNLIKELY(!r)) {
2829
422
            return 0;
2830
422
        }
2831
2832
38.2k
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2833
38.2k
        return static_cast<difference_type>(calculate_text_width(
2834
38.2k
            std::basic_string_view<value_type>{cp_str.data(), cp_str.size()}));
2835
38.6k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::_get_width_at_current_cp_start(long) const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::_get_width_at_current_cp_start(long) const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_get_width_at_current_cp_start(long) const
Line
Count
Source
2815
92.7k
    {
2816
92.7k
        if (SCN_UNLIKELY(cplen == 0)) {
2817
1.51k
            return 0;
2818
1.51k
        }
2819
2820
91.2k
        if (cplen == 1) {
2821
57.5k
            SCN_EXPECT(m_current != m_end);
2822
57.5k
            auto cp = static_cast<char32_t>(*m_current);
2823
57.5k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2824
57.5k
        }
2825
2826
33.6k
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2827
33.6k
                                           cplen);
2828
33.6k
        if (SCN_UNLIKELY(!r)) {
2829
422
            return 0;
2830
422
        }
2831
2832
33.2k
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2833
33.2k
        return static_cast<difference_type>(calculate_text_width(
2834
33.2k
            std::basic_string_view<value_type>{cp_str.data(), cp_str.size()}));
2835
33.6k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::_get_width_at_current_cp_start(long) const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::_get_width_at_current_cp_start(long) const
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::_get_width_at_current_cp_start(long) const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_get_width_at_current_cp_start(long) const
Line
Count
Source
2815
37.0k
    {
2816
37.0k
        if (SCN_UNLIKELY(cplen == 0)) {
2817
0
            return 0;
2818
0
        }
2819
2820
37.0k
        if (cplen == 1) {
2821
37.0k
            SCN_EXPECT(m_current != m_end);
2822
37.0k
            auto cp = static_cast<char32_t>(*m_current);
2823
37.0k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2824
37.0k
        }
2825
2826
0
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2827
0
                                           cplen);
2828
0
        if (SCN_UNLIKELY(!r)) {
2829
0
            return 0;
2830
0
        }
2831
2832
0
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2833
0
        return static_cast<difference_type>(calculate_text_width(
2834
0
            std::basic_string_view<value_type>{cp_str.data(), cp_str.size()}));
2835
0
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::_get_width_at_current_cp_start(long) const
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::_get_width_at_current_cp_start(long) const
Line
Count
Source
2815
9.87k
    {
2816
9.87k
        if (SCN_UNLIKELY(cplen == 0)) {
2817
0
            return 0;
2818
0
        }
2819
2820
9.87k
        if (cplen == 1) {
2821
4.90k
            SCN_EXPECT(m_current != m_end);
2822
4.90k
            auto cp = static_cast<char32_t>(*m_current);
2823
4.90k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2824
4.90k
        }
2825
2826
4.97k
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2827
4.97k
                                           cplen);
2828
4.97k
        if (SCN_UNLIKELY(!r)) {
2829
0
            return 0;
2830
0
        }
2831
2832
4.97k
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2833
4.97k
        return static_cast<difference_type>(calculate_text_width(
2834
4.97k
            std::basic_string_view<value_type>{cp_str.data(), cp_str.size()}));
2835
4.97k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::_get_width_at_current_cp_start(long) const
Line
Count
Source
2815
2.66k
    {
2816
2.66k
        if (SCN_UNLIKELY(cplen == 0)) {
2817
0
            return 0;
2818
0
        }
2819
2820
2.66k
        if (cplen == 1) {
2821
2.66k
            SCN_EXPECT(m_current != m_end);
2822
2.66k
            auto cp = static_cast<char32_t>(*m_current);
2823
2.66k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2824
2.66k
        }
2825
2826
0
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2827
0
                                           cplen);
2828
0
        if (SCN_UNLIKELY(!r)) {
2829
0
            return 0;
2830
0
        }
2831
2832
0
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2833
0
        return static_cast<difference_type>(calculate_text_width(
2834
0
            std::basic_string_view<value_type>{cp_str.data(), cp_str.size()}));
2835
0
    }
2836
2837
    void _increment_current()
2838
212k
    {
2839
212k
        if (m_multibyte_left == 0) {
2840
127k
            auto cplen = _get_cp_length_at_current();
2841
127k
            m_multibyte_left = cplen - 1;
2842
127k
            m_count -= _get_width_at_current_cp_start(cplen);
2843
127k
        }
2844
84.4k
        else {
2845
84.4k
            --m_multibyte_left;
2846
84.4k
        }
2847
2848
212k
        ++m_current;
2849
212k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::_increment_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::_increment_current()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_increment_current()
Line
Count
Source
2838
161k
    {
2839
161k
        if (m_multibyte_left == 0) {
2840
84.0k
            auto cplen = _get_cp_length_at_current();
2841
84.0k
            m_multibyte_left = cplen - 1;
2842
84.0k
            m_count -= _get_width_at_current_cp_start(cplen);
2843
84.0k
        }
2844
77.1k
        else {
2845
77.1k
            --m_multibyte_left;
2846
77.1k
        }
2847
2848
161k
        ++m_current;
2849
161k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::_increment_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::_increment_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::_increment_current()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_increment_current()
Line
Count
Source
2838
33.3k
    {
2839
33.3k
        if (m_multibyte_left == 0) {
2840
33.3k
            auto cplen = _get_cp_length_at_current();
2841
33.3k
            m_multibyte_left = cplen - 1;
2842
33.3k
            m_count -= _get_width_at_current_cp_start(cplen);
2843
33.3k
        }
2844
0
        else {
2845
0
            --m_multibyte_left;
2846
0
        }
2847
2848
33.3k
        ++m_current;
2849
33.3k
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::_increment_current()
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::_increment_current()
Line
Count
Source
2838
15.7k
    {
2839
15.7k
        if (m_multibyte_left == 0) {
2840
8.32k
            auto cplen = _get_cp_length_at_current();
2841
8.32k
            m_multibyte_left = cplen - 1;
2842
8.32k
            m_count -= _get_width_at_current_cp_start(cplen);
2843
8.32k
        }
2844
7.38k
        else {
2845
7.38k
            --m_multibyte_left;
2846
7.38k
        }
2847
2848
15.7k
        ++m_current;
2849
15.7k
    }
scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::_increment_current()
Line
Count
Source
2838
1.99k
    {
2839
1.99k
        if (m_multibyte_left == 0) {
2840
1.99k
            auto cplen = _get_cp_length_at_current();
2841
1.99k
            m_multibyte_left = cplen - 1;
2842
1.99k
            m_count -= _get_width_at_current_cp_start(cplen);
2843
1.99k
        }
2844
0
        else {
2845
0
            --m_multibyte_left;
2846
0
        }
2847
2848
1.99k
        ++m_current;
2849
1.99k
    }
2850
2851
    void _decrement_current()
2852
0
    {
2853
0
        --m_current;
2854
2855
0
        auto cplen = _get_cp_length_at_current();
2856
0
        if (cplen == 0) {
2857
0
            ++m_multibyte_left;
2858
0
        }
2859
0
        else {
2860
0
            m_count += _get_width_at_current_cp_start(cplen);
2861
0
            m_multibyte_left = cplen - 1;
2862
0
        }
2863
0
    }
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_decrement_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::_decrement_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_decrement_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::_decrement_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::_decrement_current()
Unexecuted instantiation: scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::_decrement_current()
2864
2865
    It m_current{};
2866
    S m_end{};
2867
    difference_type m_count{0};
2868
    difference_type m_multibyte_left{0};
2869
};
2870
2871
template <typename I, typename S>
2872
counted_width_iterator(I, S, ranges::iter_difference_t<I>)
2873
    -> counted_width_iterator<I, S>;
2874
}  // namespace counted_width_iterator_impl
2875
2876
using counted_width_iterator_impl::counted_width_iterator;
2877
2878
template <typename View, typename = void>
2879
struct take_width_view_storage;
2880
2881
template <typename View>
2882
struct take_width_view_storage<View,
2883
                               std::enable_if_t<ranges::borrowed_range<View>>> {
2884
21.1k
    take_width_view_storage(const View& v) : view(v) {}
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>::take_width_view_storage(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>::take_width_view_storage(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > const&)
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>::take_width_view_storage(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&)
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>::take_width_view_storage(scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > const&)
scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>::take_width_view_storage(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&)
Line
Count
Source
2884
10.4k
    take_width_view_storage(const View& v) : view(v) {}
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>::take_width_view_storage(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>::take_width_view_storage(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > const&)
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>::take_width_view_storage(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > const&)
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>::take_width_view_storage(scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > const&)
scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>::take_width_view_storage(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&)
Line
Count
Source
2884
5.45k
    take_width_view_storage(const View& v) : view(v) {}
scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, void>::take_width_view_storage(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > const&)
Line
Count
Source
2884
3.44k
    take_width_view_storage(const View& v) : view(v) {}
scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, void>::take_width_view_storage(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > const&)
Line
Count
Source
2884
1.71k
    take_width_view_storage(const View& v) : view(v) {}
2885
2886
    const View& get() const
2887
213k
    {
2888
213k
        return view;
2889
213k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>::get() const
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>::get() const
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>::get() const
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>::get() const
scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>::get() const
Line
Count
Source
2887
121k
    {
2888
121k
        return view;
2889
121k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>::get() const
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>::get() const
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>::get() const
Unexecuted instantiation: scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>::get() const
scn::v4::impl::take_width_view_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>::get() const
Line
Count
Source
2887
56.6k
    {
2888
56.6k
        return view;
2889
56.6k
    }
scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, void>::get() const
Line
Count
Source
2887
23.9k
    {
2888
23.9k
        return view;
2889
23.9k
    }
scn::v4::impl::take_width_view_storage<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, void>::get() const
Line
Count
Source
2887
11.3k
    {
2888
11.3k
        return view;
2889
11.3k
    }
2890
2891
    View view;
2892
};
2893
2894
template <typename View>
2895
struct take_width_view_storage<
2896
    View,
2897
    std::enable_if_t<!ranges::borrowed_range<View>>> {
2898
    take_width_view_storage(const View& v) : view(&v) {}
2899
2900
    const View& get() const
2901
    {
2902
        return *view;
2903
    }
2904
2905
    const View* view;
2906
};
2907
2908
template <typename View>
2909
class take_width_view : public ranges::view_interface<take_width_view<View>> {
2910
    template <bool IsConst>
2911
    class sentinel {
2912
        friend class sentinel<!IsConst>;
2913
        using Base = std::conditional_t<IsConst, const View, View>;
2914
        using CWI = counted_width_iterator<ranges::iterator_t<Base>,
2915
                                           ranges::sentinel_t<Base>>;
2916
        using underlying = ranges::sentinel_t<Base>;
2917
2918
    public:
2919
        constexpr sentinel() = default;
2920
2921
117k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>::sentinel(scn::v4::ranges::default_sentinel_t)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>::sentinel(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>::sentinel(scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>::sentinel(scn::v4::ranges::default_sentinel_t)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true>::sentinel(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>::sentinel(scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>)
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>::sentinel(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>)
Line
Count
Source
2921
12.6k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>::sentinel(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>)
Line
Count
Source
2921
5.50k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>::sentinel(char const*)
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>::sentinel(char const*)
Line
Count
Source
2921
70.2k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>::sentinel(wchar_t const*)
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>::sentinel(wchar_t const*)
Line
Count
Source
2921
29.1k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
2922
2923
        template <
2924
            typename S,
2925
            std::enable_if_t<std::is_same_v<S, sentinel<!IsConst>>>* = nullptr,
2926
            bool C = IsConst,
2927
            typename VV = View,
2928
            std::enable_if_t<C && std::is_convertible_v<ranges::sentinel_t<VV>,
2929
                                                        underlying>>* = nullptr>
2930
        constexpr explicit sentinel(S s) : m_end(SCN_MOVE(s.m_end))
2931
        {
2932
        }
2933
2934
        constexpr underlying base() const
2935
        {
2936
            return m_end;
2937
        }
2938
2939
        friend constexpr bool operator==(const CWI& y, const sentinel& x)
2940
213k
        {
2941
213k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2942
213k
                   y.base() == x.m_end ||
2943
213k
                   (y.count() == 1 && y.multibyte_left() == 0 &&
2944
208k
                    y.is_current_double_wide());
2945
213k
        }
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> const&)
scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> const&)
Line
Count
Source
2940
145k
        {
2941
145k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2942
145k
                   y.base() == x.m_end ||
2943
145k
                   (y.count() == 1 && y.multibyte_left() == 0 &&
2944
142k
                    y.is_current_double_wide());
2945
145k
        }
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> const&)
scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> const&)
Line
Count
Source
2940
45.2k
        {
2941
45.2k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2942
45.2k
                   y.base() == x.m_end ||
2943
45.2k
                   (y.count() == 1 && y.multibyte_left() == 0 &&
2944
44.1k
                    y.is_current_double_wide());
2945
45.2k
        }
scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> const&)
Line
Count
Source
2940
17.7k
        {
2941
17.7k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2942
17.7k
                   y.base() == x.m_end ||
2943
17.7k
                   (y.count() == 1 && y.multibyte_left() == 0 &&
2944
16.9k
                    y.is_current_double_wide());
2945
17.7k
        }
scn::v4::impl::operator==(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> const&)
Line
Count
Source
2940
5.50k
        {
2941
5.50k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2942
5.50k
                   y.base() == x.m_end ||
2943
5.50k
                   (y.count() == 1 && y.multibyte_left() == 0 &&
2944
5.23k
                    y.is_current_double_wide());
2945
5.50k
        }
2946
2947
        friend constexpr bool operator==(const sentinel& x, const CWI& y)
2948
        {
2949
            return y == x;
2950
        }
2951
2952
        friend constexpr bool operator!=(const CWI& y, const sentinel& x)
2953
107k
        {
2954
107k
            return !(y == x);
2955
107k
        }
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> const&)
scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> const&)
Line
Count
Source
2953
73.7k
        {
2954
73.7k
            return !(y == x);
2955
73.7k
        }
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> const&)
scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> const&)
Line
Count
Source
2953
22.9k
        {
2954
22.9k
            return !(y == x);
2955
22.9k
        }
scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> const&)
Line
Count
Source
2953
8.16k
        {
2954
8.16k
            return !(y == x);
2955
8.16k
        }
scn::v4::impl::operator!=(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> const&)
Line
Count
Source
2953
2.61k
        {
2954
2.61k
            return !(y == x);
2955
2.61k
        }
2956
2957
        friend constexpr bool operator!=(const sentinel& x, const CWI& y)
2958
        {
2959
            return !(y == x);
2960
        }
2961
2962
    private:
2963
        SCN_NO_UNIQUE_ADDRESS underlying m_end{};
2964
    };
2965
2966
public:
2967
    using value_type = ranges::range_value_t<View>;
2968
2969
    take_width_view() = default;
2970
2971
    constexpr take_width_view(const View& base, std::ptrdiff_t count)
2972
21.1k
        : m_base(base), m_count(count)
2973
21.1k
    {
2974
21.1k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::take_width_view(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, long)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::take_width_view(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > const&, long)
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::take_width_view(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&, long)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::take_width_view(scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > const&, long)
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::take_width_view(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, long)
Line
Count
Source
2972
10.4k
        : m_base(base), m_count(count)
2973
10.4k
    {
2974
10.4k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::take_width_view(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, long)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::take_width_view(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > const&, long)
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::take_width_view(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > const&, long)
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::take_width_view(scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > const&, long)
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::take_width_view(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, long)
Line
Count
Source
2972
5.45k
        : m_base(base), m_count(count)
2973
5.45k
    {
2974
5.45k
    }
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::take_width_view(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > const&, long)
Line
Count
Source
2972
3.44k
        : m_base(base), m_count(count)
2973
3.44k
    {
2974
3.44k
    }
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::take_width_view(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > const&, long)
Line
Count
Source
2972
1.71k
        : m_base(base), m_count(count)
2973
1.71k
    {
2974
1.71k
    }
2975
2976
    constexpr View base() const
2977
    {
2978
        return m_base;
2979
    }
2980
2981
    constexpr auto begin() const
2982
47.7k
    {
2983
47.7k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2984
47.7k
                                      m_count};
2985
47.7k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::begin() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::begin() const
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::begin() const
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::begin() const
Line
Count
Source
2982
25.5k
    {
2983
25.5k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2984
25.5k
                                      m_count};
2985
25.5k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::begin() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::begin() const
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::begin() const
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::begin() const
Line
Count
Source
2982
13.7k
    {
2983
13.7k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2984
13.7k
                                      m_count};
2985
13.7k
    }
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::begin() const
Line
Count
Source
2982
5.64k
    {
2983
5.64k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2984
5.64k
                                      m_count};
2985
5.64k
    }
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::begin() const
Line
Count
Source
2982
2.91k
    {
2983
2.91k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2984
2.91k
                                      m_count};
2985
2.91k
    }
2986
2987
    constexpr auto end() const
2988
117k
    {
2989
117k
        return sentinel<true>{m_base.get().end()};
2990
117k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::end() const
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::end() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::end() const
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::end() const
Line
Count
Source
2988
70.2k
    {
2989
70.2k
        return sentinel<true>{m_base.get().end()};
2990
70.2k
    }
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::end() const
Unexecuted instantiation: scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::end() const
Unexecuted instantiation: scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::end() const
scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::end() const
Line
Count
Source
2988
29.1k
    {
2989
29.1k
        return sentinel<true>{m_base.get().end()};
2990
29.1k
    }
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::end() const
Line
Count
Source
2988
12.6k
    {
2989
12.6k
        return sentinel<true>{m_base.get().end()};
2990
12.6k
    }
scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::end() const
Line
Count
Source
2988
5.50k
    {
2989
5.50k
        return sentinel<true>{m_base.get().end()};
2990
5.50k
    }
2991
2992
private:
2993
    take_width_view_storage<View> m_base{};
2994
    std::ptrdiff_t m_count{0};
2995
};
2996
2997
template <typename R>
2998
take_width_view(R&&, std::ptrdiff_t) -> take_width_view<R>;
2999
3000
struct _take_width_fn {
3001
    template <typename R>
3002
    constexpr auto operator()(const R& r, std::ptrdiff_t n) const
3003
        -> decltype(take_width_view{r, n})
3004
21.1k
    {
3005
21.1k
        return take_width_view{r, n};
3006
21.1k
    }
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, long) const
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > const&, long) const
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&, long) const
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >(scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > const&, long) const
decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, long) const
Line
Count
Source
3004
10.4k
    {
3005
10.4k
        return take_width_view{r, n};
3006
10.4k
    }
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, long) const
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > const&, long) const
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > const&, long) const
Unexecuted instantiation: decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >(scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > const&, long) const
decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, long) const
Line
Count
Source
3004
5.45k
    {
3005
5.45k
        return take_width_view{r, n};
3006
5.45k
    }
decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > const&, long) const
Line
Count
Source
3004
3.44k
    {
3005
3.44k
        return take_width_view{r, n};
3006
3.44k
    }
decltype (scn::v4::impl::take_width_view{{parm#1}, {parm#2}}) scn::v4::impl::_take_width_fn::operator()<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > const&, long) const
Line
Count
Source
3004
1.71k
    {
3005
1.71k
        return take_width_view{r, n};
3006
1.71k
    }
3007
};
3008
3009
inline constexpr _take_width_fn take_width{};
3010
}  // namespace impl
3011
3012
namespace ranges {
3013
template <typename R>
3014
inline constexpr bool enable_borrowed_range<::scn::impl::take_width_view<R>> =
3015
    enable_borrowed_range<R>;
3016
}
3017
3018
/////////////////////////////////////////////////////////////////
3019
// contiguous_scan_context
3020
/////////////////////////////////////////////////////////////////
3021
3022
template <typename CharT>
3023
class basic_scan_context<ranges::subrange<const CharT*, const CharT*>, CharT>
3024
    : public detail::scan_context_base<basic_scan_args<
3025
          basic_scan_context<detail::buffer_range_tag, CharT>>> {
3026
    using base = detail::scan_context_base<
3027
        basic_scan_args<basic_scan_context<detail::buffer_range_tag, CharT>>>;
3028
3029
    using parent_context_type =
3030
        basic_scan_context<detail::buffer_range_tag, CharT>;
3031
    using args_type = basic_scan_args<parent_context_type>;
3032
    using arg_type = basic_scan_arg<parent_context_type>;
3033
3034
public:
3035
    using char_type = CharT;
3036
    using range_type = ranges::subrange<const char_type*, const char_type*>;
3037
    using iterator = const char_type*;
3038
    using sentinel = const char_type*;
3039
    using parse_context_type = basic_scan_parse_context<char_type>;
3040
3041
    template <typename Range,
3042
              std::enable_if_t<ranges::contiguous_range<Range> &&
3043
                               ranges::borrowed_range<Range>>* = nullptr>
3044
    constexpr basic_scan_context(Range&& r,
3045
                                 args_type a,
3046
                                 detail::locale_ref loc = {})
3047
152k
        : base(SCN_MOVE(a), loc),
3048
152k
          m_range(ranges::data(r), ranges::data(r) + ranges::size(r)),
3049
152k
          m_current(m_range.begin())
3050
152k
    {
3051
152k
    }
Unexecuted instantiation: _ZN3scn2v418basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS7_EEcEC2INSt3__117basic_string_viewIcNSB_11char_traitsIcEEEETnPNSB_9enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE14borrowed_rangeISH_EEvE4typeELPv0EEEOSH_NS0_15basic_scan_argsINS1_INS0_6detail16buffer_range_tagEcEEEENSO_10locale_refE
Unexecuted instantiation: _ZN3scn2v418basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS7_EEwEC2INSt3__117basic_string_viewIwNSB_11char_traitsIwEEEETnPNSB_9enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE14borrowed_rangeISH_EEvE4typeELPv0EEEOSH_NS0_15basic_scan_argsINS1_INS0_6detail16buffer_range_tagEwEEEENSO_10locale_refE
_ZN3scn2v418basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS7_EEcEC2IRS8_TnPNSt3__19enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE14borrowed_rangeISE_EEvE4typeELPv0EEEOSE_NS0_15basic_scan_argsINS1_INS0_6detail16buffer_range_tagEcEEEENSL_10locale_refE
Line
Count
Source
3047
50.7k
        : base(SCN_MOVE(a), loc),
3048
50.7k
          m_range(ranges::data(r), ranges::data(r) + ranges::size(r)),
3049
50.7k
          m_current(m_range.begin())
3050
50.7k
    {
3051
50.7k
    }
_ZN3scn2v418basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS7_EEwEC2IRS8_TnPNSt3__19enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE14borrowed_rangeISE_EEvE4typeELPv0EEEOSE_NS0_15basic_scan_argsINS1_INS0_6detail16buffer_range_tagEwEEEENSL_10locale_refE
Line
Count
Source
3047
101k
        : base(SCN_MOVE(a), loc),
3048
101k
          m_range(ranges::data(r), ranges::data(r) + ranges::size(r)),
3049
101k
          m_current(m_range.begin())
3050
101k
    {
3051
101k
    }
3052
3053
    constexpr iterator begin() const
3054
208M
    {
3055
208M
        return m_current;
3056
208M
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::begin() const
Line
Count
Source
3054
147k
    {
3055
147k
        return m_current;
3056
147k
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::begin() const
Line
Count
Source
3054
208M
    {
3055
208M
        return m_current;
3056
208M
    }
3057
3058
    constexpr sentinel end() const
3059
416M
    {
3060
416M
        return m_range.end();
3061
416M
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::end() const
Line
Count
Source
3059
154k
    {
3060
154k
        return m_range.end();
3061
154k
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::end() const
Line
Count
Source
3059
416M
    {
3060
416M
        return m_range.end();
3061
416M
    }
3062
3063
    constexpr auto range() const
3064
108k
    {
3065
108k
        return ranges::subrange{begin(), end()};
3066
108k
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::range() const
Line
Count
Source
3064
36.2k
    {
3065
36.2k
        return ranges::subrange{begin(), end()};
3066
36.2k
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::range() const
Line
Count
Source
3064
71.9k
    {
3065
71.9k
        return ranges::subrange{begin(), end()};
3066
71.9k
    }
3067
3068
    constexpr auto underlying_range() const
3069
0
    {
3070
0
        return m_range;
3071
0
    }
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::underlying_range() const
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::underlying_range() const
3072
3073
    void advance_to(iterator it)
3074
208M
    {
3075
208M
        SCN_EXPECT(it <= end());
3076
208M
        if constexpr (detail::is_comparable_with_nullptr<iterator>) {
3077
208M
            if (it == nullptr) {
3078
0
                it = end();
3079
0
            }
3080
208M
        }
3081
208M
        m_current = SCN_MOVE(it);
3082
208M
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::advance_to(char const*)
Line
Count
Source
3074
60.1k
    {
3075
60.1k
        SCN_EXPECT(it <= end());
3076
60.1k
        if constexpr (detail::is_comparable_with_nullptr<iterator>) {
3077
60.1k
            if (it == nullptr) {
3078
0
                it = end();
3079
0
            }
3080
60.1k
        }
3081
60.1k
        m_current = SCN_MOVE(it);
3082
60.1k
    }
scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::advance_to(wchar_t const*)
Line
Count
Source
3074
208M
    {
3075
208M
        SCN_EXPECT(it <= end());
3076
208M
        if constexpr (detail::is_comparable_with_nullptr<iterator>) {
3077
208M
            if (it == nullptr) {
3078
0
                it = end();
3079
0
            }
3080
208M
        }
3081
208M
        m_current = SCN_MOVE(it);
3082
208M
    }
3083
3084
    void advance_to(const typename parent_context_type::iterator& it)
3085
0
    {
3086
0
        SCN_EXPECT(it.position() <=
3087
0
                   static_cast<std::ptrdiff_t>(m_range.size()));
3088
0
        m_current = m_range.begin() + it.position();
3089
0
    }
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::advance_to(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&)
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::advance_to(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
3090
3091
    std::ptrdiff_t begin_position()
3092
0
    {
3093
0
        return ranges::distance(m_range.begin(), begin());
3094
0
    }
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>::begin_position()
Unexecuted instantiation: scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::begin_position()
3095
3096
private:
3097
    range_type m_range;
3098
    iterator m_current;
3099
};
3100
3101
namespace impl {
3102
template <typename CharT>
3103
using basic_contiguous_scan_context =
3104
    basic_scan_context<ranges::subrange<const CharT*, const CharT*>, CharT>;
3105
3106
struct reader_error_handler {
3107
    constexpr void on_error(const char* msg)
3108
14.8k
    {
3109
14.8k
        SCN_UNLIKELY_ATTR
3110
14.8k
        m_msg = msg;
3111
14.8k
    }
3112
    explicit constexpr operator bool() const
3113
32.7k
    {
3114
32.7k
        return m_msg == nullptr;
3115
32.7k
    }
3116
3117
    const char* m_msg{nullptr};
3118
};
3119
3120
/////////////////////////////////////////////////////////////////
3121
// General reading support
3122
/////////////////////////////////////////////////////////////////
3123
3124
template <typename SourceRange>
3125
auto skip_classic_whitespace(const SourceRange& range,
3126
                             bool allow_exhaustion = false)
3127
    -> eof_expected<ranges::const_iterator_t<SourceRange>>
3128
18.3k
{
3129
18.3k
    if (!allow_exhaustion) {
3130
16.8k
        auto it = read_while_classic_space(range);
3131
16.8k
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3132
16.8k
            SCN_UNLIKELY(!e)) {
3133
354
            return unexpected(e);
3134
354
        }
3135
3136
16.4k
        return it;
3137
16.8k
    }
3138
3139
1.53k
    return read_while_classic_space(range);
3140
18.3k
}
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSJ_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSE_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSD_b
_ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_b
Line
Count
Source
3128
556
{
3129
556
    if (!allow_exhaustion) {
3130
0
        auto it = read_while_classic_space(range);
3131
0
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3132
0
            SCN_UNLIKELY(!e)) {
3133
0
            return unexpected(e);
3134
0
        }
3135
3136
0
        return it;
3137
0
    }
3138
3139
556
    return read_while_classic_space(range);
3140
556
}
_ZN3scn2v44impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSD_b
Line
Count
Source
3128
7.04k
{
3129
7.04k
    if (!allow_exhaustion) {
3130
6.88k
        auto it = read_while_classic_space(range);
3131
6.88k
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3132
6.88k
            SCN_UNLIKELY(!e)) {
3133
0
            return unexpected(e);
3134
0
        }
3135
3136
6.88k
        return it;
3137
6.88k
    }
3138
3139
160
    return read_while_classic_space(range);
3140
7.04k
}
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSJ_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSE_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSD_b
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEERKSB_b
_ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_b
Line
Count
Source
3128
438
{
3129
438
    if (!allow_exhaustion) {
3130
0
        auto it = read_while_classic_space(range);
3131
0
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3132
0
            SCN_UNLIKELY(!e)) {
3133
0
            return unexpected(e);
3134
0
        }
3135
3136
0
        return it;
3137
0
    }
3138
3139
438
    return read_while_classic_space(range);
3140
438
}
_ZN3scn2v44impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSD_b
Line
Count
Source
3128
6.90k
{
3129
6.90k
    if (!allow_exhaustion) {
3130
6.52k
        auto it = read_while_classic_space(range);
3131
6.52k
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3132
6.52k
            SCN_UNLIKELY(!e)) {
3133
0
            return unexpected(e);
3134
0
        }
3135
3136
6.52k
        return it;
3137
6.52k
    }
3138
3139
380
    return read_while_classic_space(range);
3140
6.90k
}
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
_ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
Line
Count
Source
3128
2.19k
{
3129
2.19k
    if (!allow_exhaustion) {
3130
2.19k
        auto it = read_while_classic_space(range);
3131
2.19k
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3132
2.19k
            SCN_UNLIKELY(!e)) {
3133
238
            return unexpected(e);
3134
238
        }
3135
3136
1.95k
        return it;
3137
2.19k
    }
3138
3139
0
    return read_while_classic_space(range);
3140
2.19k
}
_ZN3scn2v44impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
Line
Count
Source
3128
1.20k
{
3129
1.20k
    if (!allow_exhaustion) {
3130
1.20k
        auto it = read_while_classic_space(range);
3131
1.20k
        if (auto e = eof_check(ranges::subrange{it, range.end()});
3132
1.20k
            SCN_UNLIKELY(!e)) {
3133
116
            return unexpected(e);
3134
116
        }
3135
3136
1.08k
        return it;
3137
1.20k
    }
3138
3139
0
    return read_while_classic_space(range);
3140
1.20k
}
Unexecuted instantiation: _ZN3scn2v44impl23skip_classic_whitespaceINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEERKSB_b
3141
3142
template <typename SourceCharT, typename DestCharT>
3143
scan_expected<void> transcode_impl(std::basic_string_view<SourceCharT> src,
3144
                                   std::basic_string<DestCharT>& dst)
3145
2.77k
{
3146
2.77k
    dst.clear();
3147
2.77k
    transcode_valid_to_string(src, dst);
3148
2.77k
    return {};
3149
2.77k
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_impl<char, wchar_t>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
3145
1.62k
{
3146
1.62k
    dst.clear();
3147
1.62k
    transcode_valid_to_string(src, dst);
3148
1.62k
    return {};
3149
1.62k
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_impl<wchar_t, char>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
3145
1.15k
{
3146
1.15k
    dst.clear();
3147
1.15k
    transcode_valid_to_string(src, dst);
3148
1.15k
    return {};
3149
1.15k
}
3150
3151
template <typename SourceCharT, typename DestCharT>
3152
scan_expected<void> transcode_if_necessary(
3153
    const contiguous_range_factory<SourceCharT>& source,
3154
    std::basic_string<DestCharT>& dest)
3155
{
3156
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3157
        dest.assign(source.view());
3158
    }
3159
    else {
3160
        return transcode_impl(source.view(), dest);
3161
    }
3162
3163
    return {};
3164
}
3165
3166
template <typename SourceCharT, typename DestCharT>
3167
scan_expected<void> transcode_if_necessary(
3168
    contiguous_range_factory<SourceCharT>&& source,
3169
    std::basic_string<DestCharT>& dest)
3170
1.58k
{
3171
1.58k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3172
792
        if (source.stores_allocated_string()) {
3173
792
            dest.assign(SCN_MOVE(source.get_allocated_string()));
3174
792
        }
3175
0
        else {
3176
0
            dest.assign(source.view());
3177
0
        }
3178
    }
3179
792
    else {
3180
792
        return transcode_impl(source.view(), dest);
3181
792
    }
3182
3183
0
    return {};
3184
1.58k
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<char, char>(scn::v4::impl::contiguous_range_factory<char>&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
3170
482
{
3171
482
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3172
482
        if (source.stores_allocated_string()) {
3173
482
            dest.assign(SCN_MOVE(source.get_allocated_string()));
3174
482
        }
3175
0
        else {
3176
0
            dest.assign(source.view());
3177
0
        }
3178
    }
3179
    else {
3180
        return transcode_impl(source.view(), dest);
3181
    }
3182
3183
482
    return {};
3184
482
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<char, wchar_t>(scn::v4::impl::contiguous_range_factory<char>&&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
3170
482
{
3171
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3172
        if (source.stores_allocated_string()) {
3173
            dest.assign(SCN_MOVE(source.get_allocated_string()));
3174
        }
3175
        else {
3176
            dest.assign(source.view());
3177
        }
3178
    }
3179
482
    else {
3180
482
        return transcode_impl(source.view(), dest);
3181
482
    }
3182
3183
0
    return {};
3184
482
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<wchar_t, char>(scn::v4::impl::contiguous_range_factory<wchar_t>&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
3170
310
{
3171
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3172
        if (source.stores_allocated_string()) {
3173
            dest.assign(SCN_MOVE(source.get_allocated_string()));
3174
        }
3175
        else {
3176
            dest.assign(source.view());
3177
        }
3178
    }
3179
310
    else {
3180
310
        return transcode_impl(source.view(), dest);
3181
310
    }
3182
3183
0
    return {};
3184
310
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<wchar_t, wchar_t>(scn::v4::impl::contiguous_range_factory<wchar_t>&&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
3170
310
{
3171
310
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3172
310
        if (source.stores_allocated_string()) {
3173
310
            dest.assign(SCN_MOVE(source.get_allocated_string()));
3174
310
        }
3175
0
        else {
3176
0
            dest.assign(source.view());
3177
0
        }
3178
    }
3179
    else {
3180
        return transcode_impl(source.view(), dest);
3181
    }
3182
3183
310
    return {};
3184
310
}
3185
3186
template <typename SourceCharT, typename DestCharT>
3187
scan_expected<void> transcode_if_necessary(
3188
    string_view_wrapper<SourceCharT> source,
3189
    std::basic_string<DestCharT>& dest)
3190
3.96k
{
3191
3.96k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3192
1.98k
        dest.assign(source.view());
3193
    }
3194
1.98k
    else {
3195
1.98k
        return transcode_impl(source.view(), dest);
3196
1.98k
    }
3197
3198
0
    return {};
3199
3.96k
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<char, char>(scn::v4::impl::string_view_wrapper<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
3190
1.14k
{
3191
1.14k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3192
1.14k
        dest.assign(source.view());
3193
    }
3194
    else {
3195
        return transcode_impl(source.view(), dest);
3196
    }
3197
3198
1.14k
    return {};
3199
1.14k
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<char, wchar_t>(scn::v4::impl::string_view_wrapper<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
3190
1.14k
{
3191
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3192
        dest.assign(source.view());
3193
    }
3194
1.14k
    else {
3195
1.14k
        return transcode_impl(source.view(), dest);
3196
1.14k
    }
3197
3198
0
    return {};
3199
1.14k
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<wchar_t, char>(scn::v4::impl::string_view_wrapper<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
3190
840
{
3191
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3192
        dest.assign(source.view());
3193
    }
3194
840
    else {
3195
840
        return transcode_impl(source.view(), dest);
3196
840
    }
3197
3198
0
    return {};
3199
840
}
scn::v4::scan_expected<void> scn::v4::impl::transcode_if_necessary<wchar_t, wchar_t>(scn::v4::impl::string_view_wrapper<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
3190
840
{
3191
840
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3192
840
        dest.assign(source.view());
3193
    }
3194
    else {
3195
        return transcode_impl(source.view(), dest);
3196
    }
3197
3198
840
    return {};
3199
840
}
3200
3201
/////////////////////////////////////////////////////////////////
3202
// Reader base classes etc.
3203
/////////////////////////////////////////////////////////////////
3204
3205
template <typename Derived, typename CharT>
3206
class reader_base {
3207
public:
3208
    using char_type = CharT;
3209
3210
    constexpr reader_base() = default;
3211
3212
    bool skip_ws_before_read() const
3213
10.5k
    {
3214
10.5k
        return true;
3215
10.5k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_int<char>, char>::skip_ws_before_read() const
Line
Count
Source
3213
2.64k
    {
3214
2.64k
        return true;
3215
2.64k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_float<char>, char>::skip_ws_before_read() const
Line
Count
Source
3213
1.33k
    {
3214
1.33k
        return true;
3215
1.33k
    }
Unexecuted instantiation: scn::v4::impl::reader_base<scn::v4::impl::regex_matches_reader<char>, char>::skip_ws_before_read() const
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_int<wchar_t>, wchar_t>::skip_ws_before_read() const
Line
Count
Source
3213
2.45k
    {
3214
2.45k
        return true;
3215
2.45k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_float<wchar_t>, wchar_t>::skip_ws_before_read() const
Line
Count
Source
3213
1.23k
    {
3214
1.23k
        return true;
3215
1.23k
    }
Unexecuted instantiation: scn::v4::impl::reader_base<scn::v4::impl::regex_matches_reader<wchar_t>, wchar_t>::skip_ws_before_read() const
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_bool<char>, char>::skip_ws_before_read() const
Line
Count
Source
3213
1.58k
    {
3214
1.58k
        return true;
3215
1.58k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_bool<wchar_t>, wchar_t>::skip_ws_before_read() const
Line
Count
Source
3213
1.32k
    {
3214
1.32k
        return true;
3215
1.32k
    }
3216
3217
    scan_expected<void> check_specs(const detail::format_specs& specs)
3218
25.5k
    {
3219
25.5k
        reader_error_handler eh{};
3220
25.5k
        get_derived().check_specs_impl(specs, eh);
3221
25.5k
        if (SCN_UNLIKELY(!eh)) {
3222
10.1k
            return detail::unexpected_scan_error(
3223
10.1k
                scan_error::invalid_format_string, eh.m_msg);
3224
10.1k
        }
3225
15.4k
        return {};
3226
25.5k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_int<char>, char>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3218
4.80k
    {
3219
4.80k
        reader_error_handler eh{};
3220
4.80k
        get_derived().check_specs_impl(specs, eh);
3221
4.80k
        if (SCN_UNLIKELY(!eh)) {
3222
3.44k
            return detail::unexpected_scan_error(
3223
3.44k
                scan_error::invalid_format_string, eh.m_msg);
3224
3.44k
        }
3225
1.36k
        return {};
3226
4.80k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_float<char>, char>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3218
2.40k
    {
3219
2.40k
        reader_error_handler eh{};
3220
2.40k
        get_derived().check_specs_impl(specs, eh);
3221
2.40k
        if (SCN_UNLIKELY(!eh)) {
3222
1.70k
            return detail::unexpected_scan_error(
3223
1.70k
                scan_error::invalid_format_string, eh.m_msg);
3224
1.70k
        }
3225
694
        return {};
3226
2.40k
    }
scn::v4::impl::reader_base<scn::v4::impl::string_reader<char>, char>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3218
7.08k
    {
3219
7.08k
        reader_error_handler eh{};
3220
7.08k
        get_derived().check_specs_impl(specs, eh);
3221
7.08k
        if (SCN_UNLIKELY(!eh)) {
3222
438
            return detail::unexpected_scan_error(
3223
438
                scan_error::invalid_format_string, eh.m_msg);
3224
438
        }
3225
6.64k
        return {};
3226
7.08k
    }
Unexecuted instantiation: scn::v4::impl::reader_base<scn::v4::impl::regex_matches_reader<char>, char>::check_specs(scn::v4::detail::format_specs const&)
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_int<wchar_t>, wchar_t>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3218
2.58k
    {
3219
2.58k
        reader_error_handler eh{};
3220
2.58k
        get_derived().check_specs_impl(specs, eh);
3221
2.58k
        if (SCN_UNLIKELY(!eh)) {
3222
1.26k
            return detail::unexpected_scan_error(
3223
1.26k
                scan_error::invalid_format_string, eh.m_msg);
3224
1.26k
        }
3225
1.32k
        return {};
3226
2.58k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_float<wchar_t>, wchar_t>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3218
1.29k
    {
3219
1.29k
        reader_error_handler eh{};
3220
1.29k
        get_derived().check_specs_impl(specs, eh);
3221
1.29k
        if (SCN_UNLIKELY(!eh)) {
3222
636
            return detail::unexpected_scan_error(
3223
636
                scan_error::invalid_format_string, eh.m_msg);
3224
636
        }
3225
654
        return {};
3226
1.29k
    }
scn::v4::impl::reader_base<scn::v4::impl::string_reader<wchar_t>, wchar_t>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3218
3.68k
    {
3219
3.68k
        reader_error_handler eh{};
3220
3.68k
        get_derived().check_specs_impl(specs, eh);
3221
3.68k
        if (SCN_UNLIKELY(!eh)) {
3222
642
            return detail::unexpected_scan_error(
3223
642
                scan_error::invalid_format_string, eh.m_msg);
3224
642
        }
3225
3.04k
        return {};
3226
3.68k
    }
Unexecuted instantiation: scn::v4::impl::reader_base<scn::v4::impl::regex_matches_reader<wchar_t>, wchar_t>::check_specs(scn::v4::detail::format_specs const&)
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_bool<char>, char>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3218
2.40k
    {
3219
2.40k
        reader_error_handler eh{};
3220
2.40k
        get_derived().check_specs_impl(specs, eh);
3221
2.40k
        if (SCN_UNLIKELY(!eh)) {
3222
1.45k
            return detail::unexpected_scan_error(
3223
1.45k
                scan_error::invalid_format_string, eh.m_msg);
3224
1.45k
        }
3225
944
        return {};
3226
2.40k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_bool<wchar_t>, wchar_t>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
3218
1.29k
    {
3219
1.29k
        reader_error_handler eh{};
3220
1.29k
        get_derived().check_specs_impl(specs, eh);
3221
1.29k
        if (SCN_UNLIKELY(!eh)) {
3222
530
            return detail::unexpected_scan_error(
3223
530
                scan_error::invalid_format_string, eh.m_msg);
3224
530
        }
3225
760
        return {};
3226
1.29k
    }
3227
3228
private:
3229
    Derived& get_derived()
3230
25.5k
    {
3231
25.5k
        return static_cast<Derived&>(*this);
3232
25.5k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_int<char>, char>::get_derived()
Line
Count
Source
3230
4.80k
    {
3231
4.80k
        return static_cast<Derived&>(*this);
3232
4.80k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_float<char>, char>::get_derived()
Line
Count
Source
3230
2.40k
    {
3231
2.40k
        return static_cast<Derived&>(*this);
3232
2.40k
    }
scn::v4::impl::reader_base<scn::v4::impl::string_reader<char>, char>::get_derived()
Line
Count
Source
3230
7.08k
    {
3231
7.08k
        return static_cast<Derived&>(*this);
3232
7.08k
    }
Unexecuted instantiation: scn::v4::impl::reader_base<scn::v4::impl::regex_matches_reader<char>, char>::get_derived()
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_int<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3230
2.58k
    {
3231
2.58k
        return static_cast<Derived&>(*this);
3232
2.58k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_float<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3230
1.29k
    {
3231
1.29k
        return static_cast<Derived&>(*this);
3232
1.29k
    }
scn::v4::impl::reader_base<scn::v4::impl::string_reader<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3230
3.68k
    {
3231
3.68k
        return static_cast<Derived&>(*this);
3232
3.68k
    }
Unexecuted instantiation: scn::v4::impl::reader_base<scn::v4::impl::regex_matches_reader<wchar_t>, wchar_t>::get_derived()
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_bool<char>, char>::get_derived()
Line
Count
Source
3230
2.40k
    {
3231
2.40k
        return static_cast<Derived&>(*this);
3232
2.40k
    }
scn::v4::impl::reader_base<scn::v4::impl::reader_impl_for_bool<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3230
1.29k
    {
3231
1.29k
        return static_cast<Derived&>(*this);
3232
1.29k
    }
3233
    const Derived& get_derived() const
3234
    {
3235
        return static_cast<const Derived&>(*this);
3236
    }
3237
};
3238
3239
template <typename CharT>
3240
class reader_impl_for_monostate {
3241
public:
3242
    constexpr reader_impl_for_monostate() = default;
3243
3244
    bool skip_ws_before_read() const
3245
0
    {
3246
0
        return true;
3247
0
    }
Unexecuted instantiation: scn::v4::impl::reader_impl_for_monostate<char>::skip_ws_before_read() const
Unexecuted instantiation: scn::v4::impl::reader_impl_for_monostate<wchar_t>::skip_ws_before_read() const
3248
3249
    static scan_expected<void> check_specs(const detail::format_specs&)
3250
0
    {
3251
0
        SCN_EXPECT(false);
3252
0
        SCN_UNREACHABLE;
3253
0
    }
Unexecuted instantiation: scn::v4::impl::reader_impl_for_monostate<char>::check_specs(scn::v4::detail::format_specs const&)
Unexecuted instantiation: scn::v4::impl::reader_impl_for_monostate<wchar_t>::check_specs(scn::v4::detail::format_specs const&)
3254
3255
    template <typename Range>
3256
    auto read_default(Range, monostate&, detail::locale_ref)
3257
        -> scan_expected<ranges::const_iterator_t<Range>>
3258
0
    {
3259
0
        SCN_EXPECT(false);
3260
0
        SCN_UNREACHABLE;
3261
0
    }
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_9monostateENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_9monostateENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_9monostateENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_9monostateENS9_10locale_refE
3262
3263
    template <typename Range>
3264
    auto read_specs(Range,
3265
                    const detail::format_specs&,
3266
                    monostate&,
3267
                    detail::locale_ref)
3268
        -> scan_expected<ranges::const_iterator_t<Range>>
3269
0
    {
3270
0
        SCN_EXPECT(false);
3271
0
        SCN_UNREACHABLE;
3272
0
    }
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_9monostateENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_9monostateENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_9monostateENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_9monostateENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_9monostateENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_9monostateENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_9monostateENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl25reader_impl_for_monostateIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_9monostateENS9_10locale_refE
3273
};
3274
3275
/////////////////////////////////////////////////////////////////
3276
// Numeric reader support
3277
/////////////////////////////////////////////////////////////////
3278
3279
enum class sign_type { default_sign = -1, minus_sign = 0, plus_sign = 1 };
3280
3281
inline constexpr std::array<uint8_t, 256> char_to_int_table = {
3282
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3283
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3284
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3285
    255, 255, 255, 0,   1,   2,   3,   4,   5,   6,   7,   8,   9,   255, 255,
3286
    255, 255, 255, 255, 255, 10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
3287
    20,  21,  22,  23,  24,  25,  26,  27,  28,  29,  30,  31,  32,  33,  34,
3288
    35,  255, 255, 255, 255, 255, 255, 10,  11,  12,  13,  14,  15,  16,  17,
3289
    18,  19,  20,  21,  22,  23,  24,  25,  26,  27,  28,  29,  30,  31,  32,
3290
    33,  34,  35,  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3291
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3292
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3293
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3294
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3295
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3296
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3297
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3298
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3299
    255};
3300
3301
SCN_NODISCARD SCN_FORCE_INLINE constexpr uint8_t char_to_int(char ch)
3302
17.0k
{
3303
17.0k
    return char_to_int_table[static_cast<unsigned char>(ch)];
3304
17.0k
}
3305
SCN_NODISCARD SCN_FORCE_INLINE constexpr uint8_t char_to_int(wchar_t ch)
3306
8.11k
{
3307
8.11k
#if WCHAR_MIN < 0
3308
8.11k
    if (ch >= 0 && ch <= 255) {
3309
#else
3310
    if (ch <= 255) {
3311
#endif
3312
8.00k
        return char_to_int(static_cast<char>(ch));
3313
8.00k
    }
3314
102
    return 255;
3315
8.11k
}
3316
3317
template <typename Range>
3318
auto parse_numeric_sign(Range range)
3319
    -> eof_expected<std::pair<ranges::const_iterator_t<Range>, sign_type>>
3320
9.62k
{
3321
9.62k
    auto r = read_one_of_code_unit(range, "+-");
3322
9.62k
    if (!r) {
3323
9.62k
        if (r.error() == parse_error::error) {
3324
9.62k
            return std::pair{range.begin(), sign_type::default_sign};
3325
9.62k
        }
3326
0
        return unexpected(eof_error::eof);
3327
9.62k
    }
3328
3329
0
    auto& it = *r;
3330
0
    if (*range.begin() == '-') {
3331
0
        return std::pair{it, sign_type::minus_sign};
3332
0
    }
3333
0
    return std::pair{it, sign_type::plus_sign};
3334
0
}
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESJ_
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESH_
_ZN3scn2v44impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESG_
Line
Count
Source
3320
1.38k
{
3321
1.38k
    auto r = read_one_of_code_unit(range, "+-");
3322
1.38k
    if (!r) {
3323
1.38k
        if (r.error() == parse_error::error) {
3324
1.38k
            return std::pair{range.begin(), sign_type::default_sign};
3325
1.38k
        }
3326
0
        return unexpected(eof_error::eof);
3327
1.38k
    }
3328
3329
0
    auto& it = *r;
3330
0
    if (*range.begin() == '-') {
3331
0
        return std::pair{it, sign_type::minus_sign};
3332
0
    }
3333
0
    return std::pair{it, sign_type::plus_sign};
3334
0
}
_ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESE_
Line
Count
Source
3320
3.76k
{
3321
3.76k
    auto r = read_one_of_code_unit(range, "+-");
3322
3.76k
    if (!r) {
3323
3.76k
        if (r.error() == parse_error::error) {
3324
3.76k
            return std::pair{range.begin(), sign_type::default_sign};
3325
3.76k
        }
3326
0
        return unexpected(eof_error::eof);
3327
3.76k
    }
3328
3329
0
    auto& it = *r;
3330
0
    if (*range.begin() == '-') {
3331
0
        return std::pair{it, sign_type::minus_sign};
3332
0
    }
3333
0
    return std::pair{it, sign_type::plus_sign};
3334
0
}
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESP_
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESM_
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESJ_
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESH_
_ZN3scn2v44impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESG_
Line
Count
Source
3320
784
{
3321
784
    auto r = read_one_of_code_unit(range, "+-");
3322
784
    if (!r) {
3323
784
        if (r.error() == parse_error::error) {
3324
784
            return std::pair{range.begin(), sign_type::default_sign};
3325
784
        }
3326
0
        return unexpected(eof_error::eof);
3327
784
    }
3328
3329
0
    auto& it = *r;
3330
0
    if (*range.begin() == '-') {
3331
0
        return std::pair{it, sign_type::minus_sign};
3332
0
    }
3333
0
    return std::pair{it, sign_type::plus_sign};
3334
0
}
_ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESE_
Line
Count
Source
3320
3.69k
{
3321
3.69k
    auto r = read_one_of_code_unit(range, "+-");
3322
3.69k
    if (!r) {
3323
3.69k
        if (r.error() == parse_error::error) {
3324
3.69k
            return std::pair{range.begin(), sign_type::default_sign};
3325
3.69k
        }
3326
0
        return unexpected(eof_error::eof);
3327
3.69k
    }
3328
3329
0
    auto& it = *r;
3330
0
    if (*range.begin() == '-') {
3331
0
        return std::pair{it, sign_type::minus_sign};
3332
0
    }
3333
0
    return std::pair{it, sign_type::plus_sign};
3334
0
}
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESP_
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESM_
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_12eof_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESC_
Unexecuted instantiation: _ZN3scn2v44impl18parse_numeric_signINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_12eof_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESC_
3335
3336
template <typename CharT>
3337
class numeric_reader {
3338
public:
3339
    contiguous_range_factory<CharT> m_buffer{};
3340
};
3341
3342
/////////////////////////////////////////////////////////////////
3343
// Integer reader
3344
/////////////////////////////////////////////////////////////////
3345
3346
template <typename Iterator>
3347
struct parse_integer_prefix_result {
3348
    SCN_NO_UNIQUE_ADDRESS Iterator iterator;
3349
    int parsed_base{0};
3350
    sign_type sign{sign_type::default_sign};
3351
    bool is_zero{false};
3352
};
3353
3354
template <typename Range>
3355
auto parse_integer_bin_base_prefix(Range range)
3356
    -> parse_expected<ranges::const_iterator_t<Range>>
3357
218
{
3358
218
    return read_matching_string_classic_nocase(range, "0b");
3359
218
}
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
_ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3357
40
{
3358
40
    return read_matching_string_classic_nocase(range, "0b");
3359
40
}
_ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3357
22
{
3358
22
    return read_matching_string_classic_nocase(range, "0b");
3359
22
}
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
_ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3357
64
{
3358
64
    return read_matching_string_classic_nocase(range, "0b");
3359
64
}
_ZN3scn2v44impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3357
92
{
3358
92
    return read_matching_string_classic_nocase(range, "0b");
3359
92
}
3360
3361
template <typename Range>
3362
auto parse_integer_hex_base_prefix(Range range)
3363
    -> parse_expected<ranges::const_iterator_t<Range>>
3364
2.40k
{
3365
2.40k
    return read_matching_string_classic_nocase(range, "0x");
3366
2.40k
}
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
_ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3364
350
{
3365
350
    return read_matching_string_classic_nocase(range, "0x");
3366
350
}
_ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3364
942
{
3365
942
    return read_matching_string_classic_nocase(range, "0x");
3366
942
}
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
_ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3364
206
{
3365
206
    return read_matching_string_classic_nocase(range, "0x");
3366
206
}
_ZN3scn2v44impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3364
910
{
3365
910
    return read_matching_string_classic_nocase(range, "0x");
3366
910
}
3367
3368
template <typename Range>
3369
auto parse_integer_oct_base_prefix(Range range, bool& zero_parsed)
3370
    -> parse_expected<ranges::const_iterator_t<Range>>
3371
198
{
3372
198
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3373
0
        return *r;
3374
0
    }
3375
3376
198
    if (auto r = read_matching_code_unit(range, '0')) {
3377
34
        zero_parsed = true;
3378
34
        return *r;
3379
34
    }
3380
3381
164
    return unexpected(parse_error::error);
3382
198
}
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_Rb
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
_ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_Rb
Line
Count
Source
3371
40
{
3372
40
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3373
0
        return *r;
3374
0
    }
3375
3376
40
    if (auto r = read_matching_code_unit(range, '0')) {
3377
0
        zero_parsed = true;
3378
0
        return *r;
3379
0
    }
3380
3381
40
    return unexpected(parse_error::error);
3382
40
}
_ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_Rb
Line
Count
Source
3371
42
{
3372
42
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3373
0
        return *r;
3374
0
    }
3375
3376
42
    if (auto r = read_matching_code_unit(range, '0')) {
3377
0
        zero_parsed = true;
3378
0
        return *r;
3379
0
    }
3380
3381
42
    return unexpected(parse_error::error);
3382
42
}
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_Rb
Unexecuted instantiation: _ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
_ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_Rb
Line
Count
Source
3371
68
{
3372
68
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3373
0
        return *r;
3374
0
    }
3375
3376
68
    if (auto r = read_matching_code_unit(range, '0')) {
3377
18
        zero_parsed = true;
3378
18
        return *r;
3379
18
    }
3380
3381
50
    return unexpected(parse_error::error);
3382
68
}
_ZN3scn2v44impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_Rb
Line
Count
Source
3371
48
{
3372
48
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3373
0
        return *r;
3374
0
    }
3375
3376
48
    if (auto r = read_matching_code_unit(range, '0')) {
3377
16
        zero_parsed = true;
3378
16
        return *r;
3379
16
    }
3380
3381
32
    return unexpected(parse_error::error);
3382
48
}
3383
3384
template <typename Range>
3385
auto parse_integer_base_prefix_for_detection(Range range)
3386
    -> std::tuple<ranges::const_iterator_t<Range>, int, bool>
3387
112
{
3388
112
    if (auto r = parse_integer_hex_base_prefix(range)) {
3389
0
        return {*r, 16, false};
3390
0
    }
3391
112
    if (auto r = parse_integer_bin_base_prefix(range)) {
3392
0
        return {*r, 2, false};
3393
0
    }
3394
112
    {
3395
112
        bool zero_parsed{false};
3396
112
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3397
22
            return {*r, 8, zero_parsed};
3398
22
        }
3399
112
    }
3400
90
    return {range.begin(), 10, false};
3401
112
}
Unexecuted instantiation: _ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_
Unexecuted instantiation: _ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_
_ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_
Line
Count
Source
3387
26
{
3388
26
    if (auto r = parse_integer_hex_base_prefix(range)) {
3389
0
        return {*r, 16, false};
3390
0
    }
3391
26
    if (auto r = parse_integer_bin_base_prefix(range)) {
3392
0
        return {*r, 2, false};
3393
0
    }
3394
26
    {
3395
26
        bool zero_parsed{false};
3396
26
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3397
0
            return {*r, 8, zero_parsed};
3398
0
        }
3399
26
    }
3400
26
    return {range.begin(), 10, false};
3401
26
}
_ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_
Line
Count
Source
3387
16
{
3388
16
    if (auto r = parse_integer_hex_base_prefix(range)) {
3389
0
        return {*r, 16, false};
3390
0
    }
3391
16
    if (auto r = parse_integer_bin_base_prefix(range)) {
3392
0
        return {*r, 2, false};
3393
0
    }
3394
16
    {
3395
16
        bool zero_parsed{false};
3396
16
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3397
0
            return {*r, 8, zero_parsed};
3398
0
        }
3399
16
    }
3400
16
    return {range.begin(), 10, false};
3401
16
}
Unexecuted instantiation: _ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_
Unexecuted instantiation: _ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_
_ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_
Line
Count
Source
3387
38
{
3388
38
    if (auto r = parse_integer_hex_base_prefix(range)) {
3389
0
        return {*r, 16, false};
3390
0
    }
3391
38
    if (auto r = parse_integer_bin_base_prefix(range)) {
3392
0
        return {*r, 2, false};
3393
0
    }
3394
38
    {
3395
38
        bool zero_parsed{false};
3396
38
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3397
12
            return {*r, 8, zero_parsed};
3398
12
        }
3399
38
    }
3400
26
    return {range.begin(), 10, false};
3401
38
}
_ZN3scn2v44impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_
Line
Count
Source
3387
32
{
3388
32
    if (auto r = parse_integer_hex_base_prefix(range)) {
3389
0
        return {*r, 16, false};
3390
0
    }
3391
32
    if (auto r = parse_integer_bin_base_prefix(range)) {
3392
0
        return {*r, 2, false};
3393
0
    }
3394
32
    {
3395
32
        bool zero_parsed{false};
3396
32
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3397
10
            return {*r, 8, zero_parsed};
3398
10
        }
3399
32
    }
3400
22
    return {range.begin(), 10, false};
3401
32
}
3402
3403
template <typename Range>
3404
auto parse_integer_base_prefix(Range range, int base)
3405
    -> std::tuple<ranges::const_iterator_t<Range>, int, bool>
3406
7.20k
{
3407
7.20k
    switch (base) {
3408
106
        case 2:
3409
            // allow 0b/0B
3410
106
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3411
106
                    false};
3412
3413
86
        case 8: {
3414
            // allow 0o/0O/0
3415
86
            bool zero_parsed = false;
3416
86
            auto it = apply_opt(
3417
86
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3418
86
            return {it, 8, zero_parsed};
3419
0
        }
3420
3421
2.29k
        case 16:
3422
            // allow 0x/0X
3423
2.29k
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3424
2.29k
                    false};
3425
3426
112
        case 0:
3427
            // detect base
3428
112
            return parse_integer_base_prefix_for_detection(range);
3429
3430
4.60k
        default:
3431
            // no base prefix allowed
3432
4.60k
            return {range.begin(), base, false};
3433
7.20k
    }
3434
7.20k
}
Unexecuted instantiation: _ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_i
Unexecuted instantiation: _ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_i
_ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_i
Line
Count
Source
3406
1.03k
{
3407
1.03k
    switch (base) {
3408
14
        case 2:
3409
            // allow 0b/0B
3410
14
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3411
14
                    false};
3412
3413
14
        case 8: {
3414
            // allow 0o/0O/0
3415
14
            bool zero_parsed = false;
3416
14
            auto it = apply_opt(
3417
14
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3418
14
            return {it, 8, zero_parsed};
3419
0
        }
3420
3421
324
        case 16:
3422
            // allow 0x/0X
3423
324
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3424
324
                    false};
3425
3426
26
        case 0:
3427
            // detect base
3428
26
            return parse_integer_base_prefix_for_detection(range);
3429
3430
652
        default:
3431
            // no base prefix allowed
3432
652
            return {range.begin(), base, false};
3433
1.03k
    }
3434
1.03k
}
_ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_i
Line
Count
Source
3406
2.82k
{
3407
2.82k
    switch (base) {
3408
6
        case 2:
3409
            // allow 0b/0B
3410
6
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3411
6
                    false};
3412
3413
26
        case 8: {
3414
            // allow 0o/0O/0
3415
26
            bool zero_parsed = false;
3416
26
            auto it = apply_opt(
3417
26
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3418
26
            return {it, 8, zero_parsed};
3419
0
        }
3420
3421
926
        case 16:
3422
            // allow 0x/0X
3423
926
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3424
926
                    false};
3425
3426
16
        case 0:
3427
            // detect base
3428
16
            return parse_integer_base_prefix_for_detection(range);
3429
3430
1.84k
        default:
3431
            // no base prefix allowed
3432
1.84k
            return {range.begin(), base, false};
3433
2.82k
    }
3434
2.82k
}
Unexecuted instantiation: _ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_i
Unexecuted instantiation: _ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_i
_ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_i
Line
Count
Source
3406
596
{
3407
596
    switch (base) {
3408
26
        case 2:
3409
            // allow 0b/0B
3410
26
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3411
26
                    false};
3412
3413
30
        case 8: {
3414
            // allow 0o/0O/0
3415
30
            bool zero_parsed = false;
3416
30
            auto it = apply_opt(
3417
30
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3418
30
            return {it, 8, zero_parsed};
3419
0
        }
3420
3421
168
        case 16:
3422
            // allow 0x/0X
3423
168
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3424
168
                    false};
3425
3426
38
        case 0:
3427
            // detect base
3428
38
            return parse_integer_base_prefix_for_detection(range);
3429
3430
334
        default:
3431
            // no base prefix allowed
3432
334
            return {range.begin(), base, false};
3433
596
    }
3434
596
}
_ZN3scn2v44impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_i
Line
Count
Source
3406
2.75k
{
3407
2.75k
    switch (base) {
3408
60
        case 2:
3409
            // allow 0b/0B
3410
60
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3411
60
                    false};
3412
3413
16
        case 8: {
3414
            // allow 0o/0O/0
3415
16
            bool zero_parsed = false;
3416
16
            auto it = apply_opt(
3417
16
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3418
16
            return {it, 8, zero_parsed};
3419
0
        }
3420
3421
878
        case 16:
3422
            // allow 0x/0X
3423
878
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3424
878
                    false};
3425
3426
32
        case 0:
3427
            // detect base
3428
32
            return parse_integer_base_prefix_for_detection(range);
3429
3430
1.77k
        default:
3431
            // no base prefix allowed
3432
1.77k
            return {range.begin(), base, false};
3433
2.75k
    }
3434
2.75k
}
3435
3436
template <typename Range>
3437
auto parse_integer_prefix(Range range, int base) -> eof_expected<
3438
    parse_integer_prefix_result<ranges::const_iterator_t<Range>>>
3439
7.20k
{
3440
7.20k
    SCN_TRY(sign_result, parse_numeric_sign(range));
3441
7.20k
    auto [base_prefix_begin_it, sign] = sign_result;
3442
3443
7.20k
    auto [digits_begin_it, parsed_base, parsed_zero] =
3444
7.20k
        parse_integer_base_prefix(
3445
7.20k
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3446
3447
7.20k
    if (parsed_zero) {
3448
34
        if (digits_begin_it == range.end() ||
3449
34
            char_to_int(*digits_begin_it) >= 8) {
3450
34
            digits_begin_it = base_prefix_begin_it;
3451
34
        }
3452
0
        else {
3453
0
            parsed_zero = false;
3454
0
        }
3455
34
    }
3456
7.16k
    else {
3457
7.16k
        if (digits_begin_it == range.end() ||
3458
7.16k
            char_to_int(*digits_begin_it) >= parsed_base) {
3459
6.98k
            digits_begin_it = base_prefix_begin_it;
3460
6.98k
        }
3461
7.16k
    }
3462
3463
7.20k
    if (sign == sign_type::default_sign) {
3464
7.20k
        sign = sign_type::plus_sign;
3465
7.20k
    }
3466
7.20k
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3467
7.20k
        digits_begin_it, parsed_base, sign, parsed_zero};
3468
7.20k
}
Unexecuted instantiation: _ZN3scn2v44impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESJ_i
Unexecuted instantiation: _ZN3scn2v44impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESH_i
_ZN3scn2v44impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESG_i
Line
Count
Source
3439
1.03k
{
3440
1.03k
    SCN_TRY(sign_result, parse_numeric_sign(range));
3441
1.03k
    auto [base_prefix_begin_it, sign] = sign_result;
3442
3443
1.03k
    auto [digits_begin_it, parsed_base, parsed_zero] =
3444
1.03k
        parse_integer_base_prefix(
3445
1.03k
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3446
3447
1.03k
    if (parsed_zero) {
3448
0
        if (digits_begin_it == range.end() ||
3449
0
            char_to_int(*digits_begin_it) >= 8) {
3450
0
            digits_begin_it = base_prefix_begin_it;
3451
0
        }
3452
0
        else {
3453
0
            parsed_zero = false;
3454
0
        }
3455
0
    }
3456
1.03k
    else {
3457
1.03k
        if (digits_begin_it == range.end() ||
3458
1.03k
            char_to_int(*digits_begin_it) >= parsed_base) {
3459
1.03k
            digits_begin_it = base_prefix_begin_it;
3460
1.03k
        }
3461
1.03k
    }
3462
3463
1.03k
    if (sign == sign_type::default_sign) {
3464
1.03k
        sign = sign_type::plus_sign;
3465
1.03k
    }
3466
1.03k
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3467
1.03k
        digits_begin_it, parsed_base, sign, parsed_zero};
3468
1.03k
}
_ZN3scn2v44impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESE_i
Line
Count
Source
3439
2.82k
{
3440
2.82k
    SCN_TRY(sign_result, parse_numeric_sign(range));
3441
2.82k
    auto [base_prefix_begin_it, sign] = sign_result;
3442
3443
2.82k
    auto [digits_begin_it, parsed_base, parsed_zero] =
3444
2.82k
        parse_integer_base_prefix(
3445
2.82k
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3446
3447
2.82k
    if (parsed_zero) {
3448
0
        if (digits_begin_it == range.end() ||
3449
0
            char_to_int(*digits_begin_it) >= 8) {
3450
0
            digits_begin_it = base_prefix_begin_it;
3451
0
        }
3452
0
        else {
3453
0
            parsed_zero = false;
3454
0
        }
3455
0
    }
3456
2.82k
    else {
3457
2.82k
        if (digits_begin_it == range.end() ||
3458
2.82k
            char_to_int(*digits_begin_it) >= parsed_base) {
3459
2.82k
            digits_begin_it = base_prefix_begin_it;
3460
2.82k
        }
3461
2.82k
    }
3462
3463
2.82k
    if (sign == sign_type::default_sign) {
3464
2.82k
        sign = sign_type::plus_sign;
3465
2.82k
    }
3466
2.82k
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3467
2.82k
        digits_begin_it, parsed_base, sign, parsed_zero};
3468
2.82k
}
Unexecuted instantiation: _ZN3scn2v44impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESJ_i
Unexecuted instantiation: _ZN3scn2v44impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESH_i
_ZN3scn2v44impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESG_i
Line
Count
Source
3439
596
{
3440
596
    SCN_TRY(sign_result, parse_numeric_sign(range));
3441
596
    auto [base_prefix_begin_it, sign] = sign_result;
3442
3443
596
    auto [digits_begin_it, parsed_base, parsed_zero] =
3444
596
        parse_integer_base_prefix(
3445
596
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3446
3447
596
    if (parsed_zero) {
3448
18
        if (digits_begin_it == range.end() ||
3449
18
            char_to_int(*digits_begin_it) >= 8) {
3450
18
            digits_begin_it = base_prefix_begin_it;
3451
18
        }
3452
0
        else {
3453
0
            parsed_zero = false;
3454
0
        }
3455
18
    }
3456
578
    else {
3457
578
        if (digits_begin_it == range.end() ||
3458
578
            char_to_int(*digits_begin_it) >= parsed_base) {
3459
526
            digits_begin_it = base_prefix_begin_it;
3460
526
        }
3461
578
    }
3462
3463
596
    if (sign == sign_type::default_sign) {
3464
596
        sign = sign_type::plus_sign;
3465
596
    }
3466
596
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3467
596
        digits_begin_it, parsed_base, sign, parsed_zero};
3468
596
}
_ZN3scn2v44impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESE_i
Line
Count
Source
3439
2.75k
{
3440
2.75k
    SCN_TRY(sign_result, parse_numeric_sign(range));
3441
2.75k
    auto [base_prefix_begin_it, sign] = sign_result;
3442
3443
2.75k
    auto [digits_begin_it, parsed_base, parsed_zero] =
3444
2.75k
        parse_integer_base_prefix(
3445
2.75k
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3446
3447
2.75k
    if (parsed_zero) {
3448
16
        if (digits_begin_it == range.end() ||
3449
16
            char_to_int(*digits_begin_it) >= 8) {
3450
16
            digits_begin_it = base_prefix_begin_it;
3451
16
        }
3452
0
        else {
3453
0
            parsed_zero = false;
3454
0
        }
3455
16
    }
3456
2.74k
    else {
3457
2.74k
        if (digits_begin_it == range.end() ||
3458
2.74k
            char_to_int(*digits_begin_it) >= parsed_base) {
3459
2.60k
            digits_begin_it = base_prefix_begin_it;
3460
2.60k
        }
3461
2.74k
    }
3462
3463
2.75k
    if (sign == sign_type::default_sign) {
3464
2.75k
        sign = sign_type::plus_sign;
3465
2.75k
    }
3466
2.75k
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3467
2.75k
        digits_begin_it, parsed_base, sign, parsed_zero};
3468
2.75k
}
Unexecuted instantiation: _ZN3scn2v44impl20parse_integer_prefixINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEEEESC_i
Unexecuted instantiation: _ZN3scn2v44impl20parse_integer_prefixINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEEEESC_i
3469
3470
template <typename Range>
3471
auto parse_integer_digits_without_thsep(Range range, int base)
3472
    -> scan_expected<ranges::const_iterator_t<Range>>
3473
7.02k
{
3474
7.02k
    SCN_UNUSED(base);
3475
7.02k
    using char_type = detail::char_t<Range>;
3476
3477
7.02k
    if constexpr (ranges::contiguous_range<Range>) {
3478
5.49k
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3479
0
            return detail::unexpected_scan_error(
3480
0
                scan_error::invalid_scanned_value,
3481
0
                "Failed to parse integer: No digits found");
3482
0
        }
3483
5.49k
        return range.end();
3484
    }
3485
1.53k
    else {
3486
1.53k
        return read_while1_code_unit(range,
3487
1.56k
                                     [&](char_type ch) noexcept {
3488
1.56k
                                         return char_to_int(ch) < base;
3489
1.56k
                                     })
Unexecuted instantiation: _ZZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_iENKUlcE_clEc
_ZZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_iENKUlcE_clEc
Line
Count
Source
3487
1.00k
                                     [&](char_type ch) noexcept {
3488
1.00k
                                         return char_to_int(ch) < base;
3489
1.00k
                                     })
Unexecuted instantiation: _ZZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_iENKUlwE_clEw
_ZZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_iENKUlwE_clEw
Line
Count
Source
3487
556
                                     [&](char_type ch) noexcept {
3488
556
                                         return char_to_int(ch) < base;
3489
556
                                     })
3490
1.53k
            .transform_error(map_parse_error_to_scan_error(
3491
1.53k
                scan_error::invalid_scanned_value,
3492
1.53k
                "Failed to parse integer: No digits found"));
3493
1.53k
    }
3494
7.02k
}
Unexecuted instantiation: _ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_i
Unexecuted instantiation: _ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_i
_ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_i
Line
Count
Source
3473
1.00k
{
3474
1.00k
    SCN_UNUSED(base);
3475
1.00k
    using char_type = detail::char_t<Range>;
3476
3477
    if constexpr (ranges::contiguous_range<Range>) {
3478
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3479
            return detail::unexpected_scan_error(
3480
                scan_error::invalid_scanned_value,
3481
                "Failed to parse integer: No digits found");
3482
        }
3483
        return range.end();
3484
    }
3485
1.00k
    else {
3486
1.00k
        return read_while1_code_unit(range,
3487
1.00k
                                     [&](char_type ch) noexcept {
3488
1.00k
                                         return char_to_int(ch) < base;
3489
1.00k
                                     })
3490
1.00k
            .transform_error(map_parse_error_to_scan_error(
3491
1.00k
                scan_error::invalid_scanned_value,
3492
1.00k
                "Failed to parse integer: No digits found"));
3493
1.00k
    }
3494
1.00k
}
_ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_i
Line
Count
Source
3473
2.80k
{
3474
2.80k
    SCN_UNUSED(base);
3475
2.80k
    using char_type = detail::char_t<Range>;
3476
3477
2.80k
    if constexpr (ranges::contiguous_range<Range>) {
3478
2.80k
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3479
0
            return detail::unexpected_scan_error(
3480
0
                scan_error::invalid_scanned_value,
3481
0
                "Failed to parse integer: No digits found");
3482
0
        }
3483
2.80k
        return range.end();
3484
    }
3485
    else {
3486
        return read_while1_code_unit(range,
3487
                                     [&](char_type ch) noexcept {
3488
                                         return char_to_int(ch) < base;
3489
                                     })
3490
            .transform_error(map_parse_error_to_scan_error(
3491
                scan_error::invalid_scanned_value,
3492
                "Failed to parse integer: No digits found"));
3493
    }
3494
2.80k
}
Unexecuted instantiation: _ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_i
Unexecuted instantiation: _ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_i
_ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_i
Line
Count
Source
3473
526
{
3474
526
    SCN_UNUSED(base);
3475
526
    using char_type = detail::char_t<Range>;
3476
3477
    if constexpr (ranges::contiguous_range<Range>) {
3478
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3479
            return detail::unexpected_scan_error(
3480
                scan_error::invalid_scanned_value,
3481
                "Failed to parse integer: No digits found");
3482
        }
3483
        return range.end();
3484
    }
3485
526
    else {
3486
526
        return read_while1_code_unit(range,
3487
526
                                     [&](char_type ch) noexcept {
3488
526
                                         return char_to_int(ch) < base;
3489
526
                                     })
3490
526
            .transform_error(map_parse_error_to_scan_error(
3491
526
                scan_error::invalid_scanned_value,
3492
526
                "Failed to parse integer: No digits found"));
3493
526
    }
3494
526
}
_ZN3scn2v44impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_i
Line
Count
Source
3473
2.69k
{
3474
2.69k
    SCN_UNUSED(base);
3475
2.69k
    using char_type = detail::char_t<Range>;
3476
3477
2.69k
    if constexpr (ranges::contiguous_range<Range>) {
3478
2.69k
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3479
0
            return detail::unexpected_scan_error(
3480
0
                scan_error::invalid_scanned_value,
3481
0
                "Failed to parse integer: No digits found");
3482
0
        }
3483
2.69k
        return range.end();
3484
    }
3485
    else {
3486
        return read_while1_code_unit(range,
3487
                                     [&](char_type ch) noexcept {
3488
                                         return char_to_int(ch) < base;
3489
                                     })
3490
            .transform_error(map_parse_error_to_scan_error(
3491
                scan_error::invalid_scanned_value,
3492
                "Failed to parse integer: No digits found"));
3493
    }
3494
2.69k
}
3495
3496
template <typename Range, typename CharT>
3497
auto parse_integer_digits_with_thsep(
3498
    Range range,
3499
    int base,
3500
    const localized_number_formatting_options<CharT>& locale_options)
3501
    -> scan_expected<std::tuple<ranges::const_iterator_t<Range>,
3502
                                std::basic_string<CharT>,
3503
                                std::string>>
3504
144
{
3505
144
    std::basic_string<CharT> output;
3506
144
    std::string thsep_indices;
3507
144
    auto it = range.begin();
3508
144
    bool digit_matched = false;
3509
160
    for (; it != range.end(); ++it) {
3510
156
        if (*it == locale_options.thousands_sep) {
3511
0
            thsep_indices.push_back(
3512
0
                static_cast<char>(ranges::distance(range.begin(), it)));
3513
0
        }
3514
156
        else if (char_to_int(*it) >= base) {
3515
140
            break;
3516
140
        }
3517
16
        else {
3518
16
            output.push_back(*it);
3519
16
            digit_matched = true;
3520
16
        }
3521
156
    }
3522
144
    if (SCN_UNLIKELY(!digit_matched)) {
3523
128
        return detail::unexpected_scan_error(
3524
128
            scan_error::invalid_scanned_value,
3525
128
            "Failed to parse integer: No digits found");
3526
128
    }
3527
16
    return std::tuple{it, output, thsep_indices};
3528
144
}
Unexecuted instantiation: _ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENSM_12basic_stringIT0_NSM_11char_traitsISV_EENSM_9allocatorISV_EEEENSU_IcNSW_IcEENSY_IcEEEEEEEEESP_iRKNS1_35localized_number_formatting_optionsISV_EE
Unexecuted instantiation: _ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEENSM_IcNSO_IcEENSQ_IcEEEEEEEEESH_iRKNS1_35localized_number_formatting_optionsISN_EE
_ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEENSR_IcNST_IcEENSV_IcEEEEEEEEESM_iRKNS1_35localized_number_formatting_optionsISS_EE
Line
Count
Source
3504
24
{
3505
24
    std::basic_string<CharT> output;
3506
24
    std::string thsep_indices;
3507
24
    auto it = range.begin();
3508
24
    bool digit_matched = false;
3509
24
    for (; it != range.end(); ++it) {
3510
24
        if (*it == locale_options.thousands_sep) {
3511
0
            thsep_indices.push_back(
3512
0
                static_cast<char>(ranges::distance(range.begin(), it)));
3513
0
        }
3514
24
        else if (char_to_int(*it) >= base) {
3515
24
            break;
3516
24
        }
3517
0
        else {
3518
0
            output.push_back(*it);
3519
0
            digit_matched = true;
3520
0
        }
3521
24
    }
3522
24
    if (SCN_UNLIKELY(!digit_matched)) {
3523
24
        return detail::unexpected_scan_error(
3524
24
            scan_error::invalid_scanned_value,
3525
24
            "Failed to parse integer: No digits found");
3526
24
    }
3527
0
    return std::tuple{it, output, thsep_indices};
3528
24
}
_ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENSB_12basic_stringIT0_NSB_11char_traitsISK_EENSB_9allocatorISK_EEEENSJ_IcNSL_IcEENSN_IcEEEEEEEEESE_iRKNS1_35localized_number_formatting_optionsISK_EE
Line
Count
Source
3504
20
{
3505
20
    std::basic_string<CharT> output;
3506
20
    std::string thsep_indices;
3507
20
    auto it = range.begin();
3508
20
    bool digit_matched = false;
3509
20
    for (; it != range.end(); ++it) {
3510
20
        if (*it == locale_options.thousands_sep) {
3511
0
            thsep_indices.push_back(
3512
0
                static_cast<char>(ranges::distance(range.begin(), it)));
3513
0
        }
3514
20
        else if (char_to_int(*it) >= base) {
3515
20
            break;
3516
20
        }
3517
0
        else {
3518
0
            output.push_back(*it);
3519
0
            digit_matched = true;
3520
0
        }
3521
20
    }
3522
20
    if (SCN_UNLIKELY(!digit_matched)) {
3523
20
        return detail::unexpected_scan_error(
3524
20
            scan_error::invalid_scanned_value,
3525
20
            "Failed to parse integer: No digits found");
3526
20
    }
3527
0
    return std::tuple{it, output, thsep_indices};
3528
20
}
Unexecuted instantiation: _ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENSM_12basic_stringIT0_NSM_11char_traitsISV_EENSM_9allocatorISV_EEEENSU_IcNSW_IcEENSY_IcEEEEEEEEESP_iRKNS1_35localized_number_formatting_optionsISV_EE
Unexecuted instantiation: _ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEENSM_IcNSO_IcEENSQ_IcEEEEEEEEESH_iRKNS1_35localized_number_formatting_optionsISN_EE
_ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEENSR_IcNST_IcEENSV_IcEEEEEEEEESM_iRKNS1_35localized_number_formatting_optionsISS_EE
Line
Count
Source
3504
52
{
3505
52
    std::basic_string<CharT> output;
3506
52
    std::string thsep_indices;
3507
52
    auto it = range.begin();
3508
52
    bool digit_matched = false;
3509
60
    for (; it != range.end(); ++it) {
3510
56
        if (*it == locale_options.thousands_sep) {
3511
0
            thsep_indices.push_back(
3512
0
                static_cast<char>(ranges::distance(range.begin(), it)));
3513
0
        }
3514
56
        else if (char_to_int(*it) >= base) {
3515
48
            break;
3516
48
        }
3517
8
        else {
3518
8
            output.push_back(*it);
3519
8
            digit_matched = true;
3520
8
        }
3521
56
    }
3522
52
    if (SCN_UNLIKELY(!digit_matched)) {
3523
44
        return detail::unexpected_scan_error(
3524
44
            scan_error::invalid_scanned_value,
3525
44
            "Failed to parse integer: No digits found");
3526
44
    }
3527
8
    return std::tuple{it, output, thsep_indices};
3528
52
}
_ZN3scn2v44impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENSB_12basic_stringIT0_NSB_11char_traitsISK_EENSB_9allocatorISK_EEEENSJ_IcNSL_IcEENSN_IcEEEEEEEEESE_iRKNS1_35localized_number_formatting_optionsISK_EE
Line
Count
Source
3504
48
{
3505
48
    std::basic_string<CharT> output;
3506
48
    std::string thsep_indices;
3507
48
    auto it = range.begin();
3508
48
    bool digit_matched = false;
3509
56
    for (; it != range.end(); ++it) {
3510
56
        if (*it == locale_options.thousands_sep) {
3511
0
            thsep_indices.push_back(
3512
0
                static_cast<char>(ranges::distance(range.begin(), it)));
3513
0
        }
3514
56
        else if (char_to_int(*it) >= base) {
3515
48
            break;
3516
48
        }
3517
8
        else {
3518
8
            output.push_back(*it);
3519
8
            digit_matched = true;
3520
8
        }
3521
56
    }
3522
48
    if (SCN_UNLIKELY(!digit_matched)) {
3523
40
        return detail::unexpected_scan_error(
3524
40
            scan_error::invalid_scanned_value,
3525
40
            "Failed to parse integer: No digits found");
3526
40
    }
3527
8
    return std::tuple{it, output, thsep_indices};
3528
48
}
3529
3530
template <typename CharT, typename T>
3531
auto parse_integer_value(std::basic_string_view<CharT> source,
3532
                         T& value,
3533
                         sign_type sign,
3534
                         int base)
3535
    -> scan_expected<typename std::basic_string_view<CharT>::iterator>;
3536
3537
template <typename T>
3538
void parse_integer_value_exhaustive_valid(std::string_view source, T& value);
3539
3540
#define SCN_DECLARE_INTEGER_READER_TEMPLATE(CharT, IntT)                    \
3541
    extern template auto parse_integer_value(                               \
3542
        std::basic_string_view<CharT> source, IntT& value, sign_type sign,  \
3543
        int base)                                                           \
3544
        -> scan_expected<typename std::basic_string_view<CharT>::iterator>; \
3545
    extern template void parse_integer_value_exhaustive_valid(              \
3546
        std::string_view, IntT&);
3547
3548
#if !SCN_DISABLE_TYPE_SCHAR
3549
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, signed char)
3550
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, signed char)
3551
#endif
3552
#if !SCN_DISABLE_TYPE_SHORT
3553
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, short)
3554
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, short)
3555
#endif
3556
#if !SCN_DISABLE_TYPE_INT
3557
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, int)
3558
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, int)
3559
#endif
3560
#if !SCN_DISABLE_TYPE_LONG
3561
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, long)
3562
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, long)
3563
#endif
3564
#if !SCN_DISABLE_TYPE_LONG_LONG
3565
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, long long)
3566
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, long long)
3567
#endif
3568
#if SCN_HAS_INT128 && !SCN_DISABLE_TYPE_INT128
3569
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, int128)
3570
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, int128)
3571
#endif
3572
#if !SCN_DISABLE_TYPE_UCHAR
3573
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned char)
3574
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned char)
3575
#endif
3576
#if !SCN_DISABLE_TYPE_USHORT
3577
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned short)
3578
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned short)
3579
#endif
3580
#if !SCN_DISABLE_TYPE_UINT
3581
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned int)
3582
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned int)
3583
#endif
3584
#if !SCN_DISABLE_TYPE_ULONG
3585
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned long)
3586
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned long)
3587
#endif
3588
#if !SCN_DISABLE_TYPE_ULONG_LONG
3589
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned long long)
3590
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned long long)
3591
#endif
3592
#if SCN_HAS_INT128 && !SCN_DISABLE_TYPE_UINT128
3593
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, uint128)
3594
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, uint128)
3595
#endif
3596
3597
#undef SCN_DECLARE_INTEGER_READER_TEMPLATE
3598
3599
template <typename CharT>
3600
class reader_impl_for_int
3601
    : public reader_base<reader_impl_for_int<CharT>, CharT> {
3602
public:
3603
    constexpr reader_impl_for_int() = default;
3604
3605
    void check_specs_impl(const detail::format_specs& specs,
3606
                          reader_error_handler& eh)
3607
7.38k
    {
3608
7.38k
        detail::check_int_type_specs(specs, eh);
3609
7.38k
    }
scn::v4::impl::reader_impl_for_int<char>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
3607
4.80k
    {
3608
4.80k
        detail::check_int_type_specs(specs, eh);
3609
4.80k
    }
scn::v4::impl::reader_impl_for_int<wchar_t>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
3607
2.58k
    {
3608
2.58k
        detail::check_int_type_specs(specs, eh);
3609
2.58k
    }
3610
3611
    template <typename Range, typename T>
3612
    auto read_default_with_base(Range range, T& value, int base)
3613
        -> scan_expected<ranges::const_iterator_t<Range>>
3614
2.26k
    {
3615
2.26k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3616
2.26k
                                   .transform_error(make_eof_scan_error));
3617
3618
2.26k
        if constexpr (!std::is_signed_v<T>) {
3619
1.13k
            if (prefix_result.sign == sign_type::minus_sign) {
3620
0
                return detail::unexpected_scan_error(
3621
0
                    scan_error::invalid_scanned_value,
3622
0
                    "Unexpected '-' sign when parsing an "
3623
0
                    "unsigned value");
3624
0
            }
3625
1.13k
        }
3626
3627
2.26k
        if (prefix_result.is_zero) {
3628
0
            value = T{0};
3629
0
            return std::next(prefix_result.iterator);
3630
0
        }
3631
3632
4.53k
        SCN_TRY(after_digits_it,
3633
4.53k
                parse_integer_digits_without_thsep(
3634
4.53k
                    ranges::subrange{prefix_result.iterator, range.end()},
3635
4.53k
                    prefix_result.parsed_base));
3636
3637
4.53k
        auto buf = make_contiguous_buffer(
3638
4.53k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3639
4.53k
        SCN_TRY(result_it,
3640
0
                parse_integer_value(buf.view(), value, prefix_result.sign,
3641
0
                                    prefix_result.parsed_base));
3642
3643
0
        return ranges::next(prefix_result.iterator,
3644
0
                            ranges::distance(buf.view().begin(), result_it));
3645
4.53k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINSt3__117basic_string_viewIcNS5_11char_traitsIcEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS5_9add_constIT_E4typeEEEEEEESD_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINSt3__117basic_string_viewIwNS5_11char_traitsIwEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS5_9add_constIT_E4typeEEEEEEESD_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3614
490
    {
3615
490
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3616
490
                                   .transform_error(make_eof_scan_error));
3617
3618
        if constexpr (!std::is_signed_v<T>) {
3619
            if (prefix_result.sign == sign_type::minus_sign) {
3620
                return detail::unexpected_scan_error(
3621
                    scan_error::invalid_scanned_value,
3622
                    "Unexpected '-' sign when parsing an "
3623
                    "unsigned value");
3624
            }
3625
        }
3626
3627
490
        if (prefix_result.is_zero) {
3628
0
            value = T{0};
3629
0
            return std::next(prefix_result.iterator);
3630
0
        }
3631
3632
980
        SCN_TRY(after_digits_it,
3633
980
                parse_integer_digits_without_thsep(
3634
980
                    ranges::subrange{prefix_result.iterator, range.end()},
3635
980
                    prefix_result.parsed_base));
3636
3637
980
        auto buf = make_contiguous_buffer(
3638
980
            ranges::subrange{prefix_result.iterator, after_digits_it});
3639
980
        SCN_TRY(result_it,
3640
0
                parse_integer_value(buf.view(), value, prefix_result.sign,
3641
0
                                    prefix_result.parsed_base));
3642
3643
0
        return ranges::next(prefix_result.iterator,
3644
0
                            ranges::distance(buf.view().begin(), result_it));
3645
980
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3614
490
    {
3615
490
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3616
490
                                   .transform_error(make_eof_scan_error));
3617
3618
490
        if constexpr (!std::is_signed_v<T>) {
3619
490
            if (prefix_result.sign == sign_type::minus_sign) {
3620
0
                return detail::unexpected_scan_error(
3621
0
                    scan_error::invalid_scanned_value,
3622
0
                    "Unexpected '-' sign when parsing an "
3623
0
                    "unsigned value");
3624
0
            }
3625
490
        }
3626
3627
490
        if (prefix_result.is_zero) {
3628
0
            value = T{0};
3629
0
            return std::next(prefix_result.iterator);
3630
0
        }
3631
3632
980
        SCN_TRY(after_digits_it,
3633
980
                parse_integer_digits_without_thsep(
3634
980
                    ranges::subrange{prefix_result.iterator, range.end()},
3635
980
                    prefix_result.parsed_base));
3636
3637
980
        auto buf = make_contiguous_buffer(
3638
980
            ranges::subrange{prefix_result.iterator, after_digits_it});
3639
980
        SCN_TRY(result_it,
3640
0
                parse_integer_value(buf.view(), value, prefix_result.sign,
3641
0
                                    prefix_result.parsed_base));
3642
3643
0
        return ranges::next(prefix_result.iterator,
3644
0
                            ranges::distance(buf.view().begin(), result_it));
3645
980
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3614
644
    {
3615
644
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3616
644
                                   .transform_error(make_eof_scan_error));
3617
3618
        if constexpr (!std::is_signed_v<T>) {
3619
            if (prefix_result.sign == sign_type::minus_sign) {
3620
                return detail::unexpected_scan_error(
3621
                    scan_error::invalid_scanned_value,
3622
                    "Unexpected '-' sign when parsing an "
3623
                    "unsigned value");
3624
            }
3625
        }
3626
3627
644
        if (prefix_result.is_zero) {
3628
0
            value = T{0};
3629
0
            return std::next(prefix_result.iterator);
3630
0
        }
3631
3632
1.28k
        SCN_TRY(after_digits_it,
3633
1.28k
                parse_integer_digits_without_thsep(
3634
1.28k
                    ranges::subrange{prefix_result.iterator, range.end()},
3635
1.28k
                    prefix_result.parsed_base));
3636
3637
1.28k
        auto buf = make_contiguous_buffer(
3638
1.28k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3639
1.28k
        SCN_TRY(result_it,
3640
0
                parse_integer_value(buf.view(), value, prefix_result.sign,
3641
0
                                    prefix_result.parsed_base));
3642
3643
0
        return ranges::next(prefix_result.iterator,
3644
0
                            ranges::distance(buf.view().begin(), result_it));
3645
1.28k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3614
644
    {
3615
644
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3616
644
                                   .transform_error(make_eof_scan_error));
3617
3618
644
        if constexpr (!std::is_signed_v<T>) {
3619
644
            if (prefix_result.sign == sign_type::minus_sign) {
3620
0
                return detail::unexpected_scan_error(
3621
0
                    scan_error::invalid_scanned_value,
3622
0
                    "Unexpected '-' sign when parsing an "
3623
0
                    "unsigned value");
3624
0
            }
3625
644
        }
3626
3627
644
        if (prefix_result.is_zero) {
3628
0
            value = T{0};
3629
0
            return std::next(prefix_result.iterator);
3630
0
        }
3631
3632
1.28k
        SCN_TRY(after_digits_it,
3633
1.28k
                parse_integer_digits_without_thsep(
3634
1.28k
                    ranges::subrange{prefix_result.iterator, range.end()},
3635
1.28k
                    prefix_result.parsed_base));
3636
3637
1.28k
        auto buf = make_contiguous_buffer(
3638
1.28k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3639
1.28k
        SCN_TRY(result_it,
3640
0
                parse_integer_value(buf.view(), value, prefix_result.sign,
3641
0
                                    prefix_result.parsed_base));
3642
3643
0
        return ranges::next(prefix_result.iterator,
3644
0
                            ranges::distance(buf.view().begin(), result_it));
3645
1.28k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
3646
3647
    template <typename Range, typename T>
3648
    auto read_default(Range range, T& value, detail::locale_ref loc)
3649
        -> scan_expected<ranges::const_iterator_t<Range>>
3650
2.26k
    {
3651
2.26k
        SCN_UNUSED(loc);
3652
2.26k
        return read_default_with_base(range, value, 10);
3653
2.26k
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINSt3__117basic_string_viewIcNS5_11char_traitsIcEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS5_9add_constIT_E4typeEEEEEEESD_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINSt3__117basic_string_viewIwNS5_11char_traitsIwEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS5_9add_constIT_E4typeEEEEEEESD_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3650
644
    {
3651
644
        SCN_UNUSED(loc);
3652
644
        return read_default_with_base(range, value, 10);
3653
644
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3650
644
    {
3651
644
        SCN_UNUSED(loc);
3652
644
        return read_default_with_base(range, value, 10);
3653
644
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3650
490
    {
3651
490
        SCN_UNUSED(loc);
3652
490
        return read_default_with_base(range, value, 10);
3653
490
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3650
490
    {
3651
490
        SCN_UNUSED(loc);
3652
490
        return read_default_with_base(range, value, 10);
3653
490
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
3654
3655
    template <typename Range, typename T>
3656
    auto read_specs(Range range,
3657
                    const detail::format_specs& specs,
3658
                    T& value,
3659
                    detail::locale_ref loc)
3660
        -> scan_expected<ranges::const_iterator_t<Range>>
3661
4.93k
    {
3662
4.93k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
4.93k
                                   .transform_error(make_eof_scan_error));
3664
3665
4.93k
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
0
            else {
3673
0
                if (specs.type ==
3674
0
                    detail::presentation_type::int_unsigned_decimal) {
3675
0
                    return detail::unexpected_scan_error(
3676
0
                        scan_error::invalid_scanned_value,
3677
0
                        "'u'-option disallows negative values");
3678
0
                }
3679
0
            }
3680
0
        }
3681
3682
4.93k
        if (prefix_result.is_zero) {
3683
34
            value = T{0};
3684
34
            return std::next(prefix_result.iterator);
3685
34
        }
3686
3687
4.90k
        if (SCN_LIKELY(!specs.localized)) {
3688
4.75k
            SCN_TRY(after_digits_it,
3689
3.26k
                    parse_integer_digits_without_thsep(
3690
3.26k
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
3.26k
                        prefix_result.parsed_base));
3692
3693
3.26k
            auto buf = make_contiguous_buffer(
3694
3.26k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
3.26k
            SCN_TRY(result_it,
3696
172
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
172
                                        prefix_result.parsed_base));
3698
3699
172
            return ranges::next(
3700
172
                prefix_result.iterator,
3701
172
                ranges::distance(buf.view().begin(), result_it));
3702
3.26k
        }
3703
3704
144
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
144
            localized_number_formatting_options<CharT>{loc};
3710
144
#endif
3711
3712
144
        SCN_TRY(parse_digits_result,
3713
16
                parse_integer_digits_with_thsep(
3714
16
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
16
                    prefix_result.parsed_base, locale_options));
3716
16
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
16
            parse_digits_result;
3718
16
        SCN_UNUSED(after_digits_it);
3719
3720
16
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
16
            nothsep_source.data(), nothsep_source.size()};
3722
16
        SCN_TRY(
3723
16
            nothsep_source_it,
3724
16
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
16
                                prefix_result.parsed_base));
3726
3727
16
        return ranges::next(
3728
16
            prefix_result.iterator,
3729
16
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
16
                ranges::ssize(thsep_indices));
3731
16
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3661
36
    {
3662
36
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
36
                                   .transform_error(make_eof_scan_error));
3664
3665
36
        if (prefix_result.sign == sign_type::minus_sign) {
3666
            if constexpr (!std::is_signed_v<T>) {
3667
                return detail::unexpected_scan_error(
3668
                    scan_error::invalid_scanned_value,
3669
                    "Unexpected '-' sign when parsing an "
3670
                    "unsigned value");
3671
            }
3672
0
            else {
3673
0
                if (specs.type ==
3674
0
                    detail::presentation_type::int_unsigned_decimal) {
3675
0
                    return detail::unexpected_scan_error(
3676
0
                        scan_error::invalid_scanned_value,
3677
0
                        "'u'-option disallows negative values");
3678
0
                }
3679
0
            }
3680
0
        }
3681
3682
36
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
36
        if (SCN_LIKELY(!specs.localized)) {
3688
36
            SCN_TRY(after_digits_it,
3689
0
                    parse_integer_digits_without_thsep(
3690
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
0
                        prefix_result.parsed_base));
3692
3693
0
            auto buf = make_contiguous_buffer(
3694
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
0
            SCN_TRY(result_it,
3696
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
0
                                        prefix_result.parsed_base));
3698
3699
0
            return ranges::next(
3700
0
                prefix_result.iterator,
3701
0
                ranges::distance(buf.view().begin(), result_it));
3702
0
        }
3703
3704
0
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
0
            localized_number_formatting_options<CharT>{loc};
3710
0
#endif
3711
3712
0
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3661
22
    {
3662
22
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
22
                                   .transform_error(make_eof_scan_error));
3664
3665
22
        if (prefix_result.sign == sign_type::minus_sign) {
3666
            if constexpr (!std::is_signed_v<T>) {
3667
                return detail::unexpected_scan_error(
3668
                    scan_error::invalid_scanned_value,
3669
                    "Unexpected '-' sign when parsing an "
3670
                    "unsigned value");
3671
            }
3672
0
            else {
3673
0
                if (specs.type ==
3674
0
                    detail::presentation_type::int_unsigned_decimal) {
3675
0
                    return detail::unexpected_scan_error(
3676
0
                        scan_error::invalid_scanned_value,
3677
0
                        "'u'-option disallows negative values");
3678
0
                }
3679
0
            }
3680
0
        }
3681
3682
22
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
22
        if (SCN_LIKELY(!specs.localized)) {
3688
22
            SCN_TRY(after_digits_it,
3689
22
                    parse_integer_digits_without_thsep(
3690
22
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
22
                        prefix_result.parsed_base));
3692
3693
22
            auto buf = make_contiguous_buffer(
3694
22
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
22
            SCN_TRY(result_it,
3696
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
0
                                        prefix_result.parsed_base));
3698
3699
0
            return ranges::next(
3700
0
                prefix_result.iterator,
3701
0
                ranges::distance(buf.view().begin(), result_it));
3702
22
        }
3703
3704
0
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
0
            localized_number_formatting_options<CharT>{loc};
3710
0
#endif
3711
3712
0
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3661
344
    {
3662
344
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
344
                                   .transform_error(make_eof_scan_error));
3664
3665
344
        if (prefix_result.sign == sign_type::minus_sign) {
3666
            if constexpr (!std::is_signed_v<T>) {
3667
                return detail::unexpected_scan_error(
3668
                    scan_error::invalid_scanned_value,
3669
                    "Unexpected '-' sign when parsing an "
3670
                    "unsigned value");
3671
            }
3672
0
            else {
3673
0
                if (specs.type ==
3674
0
                    detail::presentation_type::int_unsigned_decimal) {
3675
0
                    return detail::unexpected_scan_error(
3676
0
                        scan_error::invalid_scanned_value,
3677
0
                        "'u'-option disallows negative values");
3678
0
                }
3679
0
            }
3680
0
        }
3681
3682
344
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
344
        if (SCN_LIKELY(!specs.localized)) {
3688
332
            SCN_TRY(after_digits_it,
3689
0
                    parse_integer_digits_without_thsep(
3690
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
0
                        prefix_result.parsed_base));
3692
3693
0
            auto buf = make_contiguous_buffer(
3694
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
0
            SCN_TRY(result_it,
3696
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
0
                                        prefix_result.parsed_base));
3698
3699
0
            return ranges::next(
3700
0
                prefix_result.iterator,
3701
0
                ranges::distance(buf.view().begin(), result_it));
3702
0
        }
3703
3704
12
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
12
            localized_number_formatting_options<CharT>{loc};
3710
12
#endif
3711
3712
12
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3661
298
    {
3662
298
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
298
                                   .transform_error(make_eof_scan_error));
3664
3665
298
        if (prefix_result.sign == sign_type::minus_sign) {
3666
            if constexpr (!std::is_signed_v<T>) {
3667
                return detail::unexpected_scan_error(
3668
                    scan_error::invalid_scanned_value,
3669
                    "Unexpected '-' sign when parsing an "
3670
                    "unsigned value");
3671
            }
3672
0
            else {
3673
0
                if (specs.type ==
3674
0
                    detail::presentation_type::int_unsigned_decimal) {
3675
0
                    return detail::unexpected_scan_error(
3676
0
                        scan_error::invalid_scanned_value,
3677
0
                        "'u'-option disallows negative values");
3678
0
                }
3679
0
            }
3680
0
        }
3681
3682
298
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
298
        if (SCN_LIKELY(!specs.localized)) {
3688
288
            SCN_TRY(after_digits_it,
3689
288
                    parse_integer_digits_without_thsep(
3690
288
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
288
                        prefix_result.parsed_base));
3692
3693
288
            auto buf = make_contiguous_buffer(
3694
288
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
288
            SCN_TRY(result_it,
3696
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
0
                                        prefix_result.parsed_base));
3698
3699
0
            return ranges::next(
3700
0
                prefix_result.iterator,
3701
0
                ranges::distance(buf.view().begin(), result_it));
3702
288
        }
3703
3704
10
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
10
            localized_number_formatting_options<CharT>{loc};
3710
10
#endif
3711
3712
10
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3661
344
    {
3662
344
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
344
                                   .transform_error(make_eof_scan_error));
3664
3665
344
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
            else {
3673
                if (specs.type ==
3674
                    detail::presentation_type::int_unsigned_decimal) {
3675
                    return detail::unexpected_scan_error(
3676
                        scan_error::invalid_scanned_value,
3677
                        "'u'-option disallows negative values");
3678
                }
3679
            }
3680
0
        }
3681
3682
344
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
344
        if (SCN_LIKELY(!specs.localized)) {
3688
332
            SCN_TRY(after_digits_it,
3689
0
                    parse_integer_digits_without_thsep(
3690
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
0
                        prefix_result.parsed_base));
3692
3693
0
            auto buf = make_contiguous_buffer(
3694
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
0
            SCN_TRY(result_it,
3696
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
0
                                        prefix_result.parsed_base));
3698
3699
0
            return ranges::next(
3700
0
                prefix_result.iterator,
3701
0
                ranges::distance(buf.view().begin(), result_it));
3702
0
        }
3703
3704
12
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
12
            localized_number_formatting_options<CharT>{loc};
3710
12
#endif
3711
3712
12
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3661
298
    {
3662
298
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
298
                                   .transform_error(make_eof_scan_error));
3664
3665
298
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
            else {
3673
                if (specs.type ==
3674
                    detail::presentation_type::int_unsigned_decimal) {
3675
                    return detail::unexpected_scan_error(
3676
                        scan_error::invalid_scanned_value,
3677
                        "'u'-option disallows negative values");
3678
                }
3679
            }
3680
0
        }
3681
3682
298
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
298
        if (SCN_LIKELY(!specs.localized)) {
3688
288
            SCN_TRY(after_digits_it,
3689
288
                    parse_integer_digits_without_thsep(
3690
288
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
288
                        prefix_result.parsed_base));
3692
3693
288
            auto buf = make_contiguous_buffer(
3694
288
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
288
            SCN_TRY(result_it,
3696
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
0
                                        prefix_result.parsed_base));
3698
3699
0
            return ranges::next(
3700
0
                prefix_result.iterator,
3701
0
                ranges::distance(buf.view().begin(), result_it));
3702
288
        }
3703
3704
10
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
10
            localized_number_formatting_options<CharT>{loc};
3710
10
#endif
3711
3712
10
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3661
306
    {
3662
306
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
306
                                   .transform_error(make_eof_scan_error));
3664
3665
306
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
            else {
3673
                if (specs.type ==
3674
                    detail::presentation_type::int_unsigned_decimal) {
3675
                    return detail::unexpected_scan_error(
3676
                        scan_error::invalid_scanned_value,
3677
                        "'u'-option disallows negative values");
3678
                }
3679
            }
3680
0
        }
3681
3682
306
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
306
        if (SCN_LIKELY(!specs.localized)) {
3688
306
            SCN_TRY(after_digits_it,
3689
0
                    parse_integer_digits_without_thsep(
3690
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
0
                        prefix_result.parsed_base));
3692
3693
0
            auto buf = make_contiguous_buffer(
3694
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
0
            SCN_TRY(result_it,
3696
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
0
                                        prefix_result.parsed_base));
3698
3699
0
            return ranges::next(
3700
0
                prefix_result.iterator,
3701
0
                ranges::distance(buf.view().begin(), result_it));
3702
0
        }
3703
3704
0
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
0
            localized_number_formatting_options<CharT>{loc};
3710
0
#endif
3711
3712
0
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
_ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3661
914
    {
3662
914
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
914
                                   .transform_error(make_eof_scan_error));
3664
3665
914
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
            else {
3673
                if (specs.type ==
3674
                    detail::presentation_type::int_unsigned_decimal) {
3675
                    return detail::unexpected_scan_error(
3676
                        scan_error::invalid_scanned_value,
3677
                        "'u'-option disallows negative values");
3678
                }
3679
            }
3680
0
        }
3681
3682
914
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
914
        if (SCN_LIKELY(!specs.localized)) {
3688
914
            SCN_TRY(after_digits_it,
3689
914
                    parse_integer_digits_without_thsep(
3690
914
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
914
                        prefix_result.parsed_base));
3692
3693
914
            auto buf = make_contiguous_buffer(
3694
914
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
914
            SCN_TRY(result_it,
3696
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
0
                                        prefix_result.parsed_base));
3698
3699
0
            return ranges::next(
3700
0
                prefix_result.iterator,
3701
0
                ranges::distance(buf.view().begin(), result_it));
3702
914
        }
3703
3704
0
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
0
            localized_number_formatting_options<CharT>{loc};
3710
0
#endif
3711
3712
0
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3661
248
    {
3662
248
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
248
                                   .transform_error(make_eof_scan_error));
3664
3665
248
        if (prefix_result.sign == sign_type::minus_sign) {
3666
            if constexpr (!std::is_signed_v<T>) {
3667
                return detail::unexpected_scan_error(
3668
                    scan_error::invalid_scanned_value,
3669
                    "Unexpected '-' sign when parsing an "
3670
                    "unsigned value");
3671
            }
3672
0
            else {
3673
0
                if (specs.type ==
3674
0
                    detail::presentation_type::int_unsigned_decimal) {
3675
0
                    return detail::unexpected_scan_error(
3676
0
                        scan_error::invalid_scanned_value,
3677
0
                        "'u'-option disallows negative values");
3678
0
                }
3679
0
            }
3680
0
        }
3681
3682
248
        if (prefix_result.is_zero) {
3683
12
            value = T{0};
3684
12
            return std::next(prefix_result.iterator);
3685
12
        }
3686
3687
236
        if (SCN_LIKELY(!specs.localized)) {
3688
210
            SCN_TRY(after_digits_it,
3689
20
                    parse_integer_digits_without_thsep(
3690
20
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
20
                        prefix_result.parsed_base));
3692
3693
20
            auto buf = make_contiguous_buffer(
3694
20
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
20
            SCN_TRY(result_it,
3696
20
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
20
                                        prefix_result.parsed_base));
3698
3699
20
            return ranges::next(
3700
20
                prefix_result.iterator,
3701
20
                ranges::distance(buf.view().begin(), result_it));
3702
20
        }
3703
3704
26
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
26
            localized_number_formatting_options<CharT>{loc};
3710
26
#endif
3711
3712
26
        SCN_TRY(parse_digits_result,
3713
4
                parse_integer_digits_with_thsep(
3714
4
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
4
                    prefix_result.parsed_base, locale_options));
3716
4
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
4
            parse_digits_result;
3718
4
        SCN_UNUSED(after_digits_it);
3719
3720
4
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
4
            nothsep_source.data(), nothsep_source.size()};
3722
4
        SCN_TRY(
3723
4
            nothsep_source_it,
3724
4
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
4
                                prefix_result.parsed_base));
3726
3727
4
        return ranges::next(
3728
4
            prefix_result.iterator,
3729
4
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
4
                ranges::ssize(thsep_indices));
3731
4
    }
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3661
484
    {
3662
484
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
484
                                   .transform_error(make_eof_scan_error));
3664
3665
484
        if (prefix_result.sign == sign_type::minus_sign) {
3666
            if constexpr (!std::is_signed_v<T>) {
3667
                return detail::unexpected_scan_error(
3668
                    scan_error::invalid_scanned_value,
3669
                    "Unexpected '-' sign when parsing an "
3670
                    "unsigned value");
3671
            }
3672
0
            else {
3673
0
                if (specs.type ==
3674
0
                    detail::presentation_type::int_unsigned_decimal) {
3675
0
                    return detail::unexpected_scan_error(
3676
0
                        scan_error::invalid_scanned_value,
3677
0
                        "'u'-option disallows negative values");
3678
0
                }
3679
0
            }
3680
0
        }
3681
3682
484
        if (prefix_result.is_zero) {
3683
10
            value = T{0};
3684
10
            return std::next(prefix_result.iterator);
3685
10
        }
3686
3687
474
        if (SCN_LIKELY(!specs.localized)) {
3688
450
            SCN_TRY(after_digits_it,
3689
450
                    parse_integer_digits_without_thsep(
3690
450
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
450
                        prefix_result.parsed_base));
3692
3693
450
            auto buf = make_contiguous_buffer(
3694
450
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
450
            SCN_TRY(result_it,
3696
46
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
46
                                        prefix_result.parsed_base));
3698
3699
46
            return ranges::next(
3700
46
                prefix_result.iterator,
3701
46
                ranges::distance(buf.view().begin(), result_it));
3702
450
        }
3703
3704
24
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
24
            localized_number_formatting_options<CharT>{loc};
3710
24
#endif
3711
3712
24
        SCN_TRY(parse_digits_result,
3713
4
                parse_integer_digits_with_thsep(
3714
4
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
4
                    prefix_result.parsed_base, locale_options));
3716
4
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
4
            parse_digits_result;
3718
4
        SCN_UNUSED(after_digits_it);
3719
3720
4
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
4
            nothsep_source.data(), nothsep_source.size()};
3722
4
        SCN_TRY(
3723
4
            nothsep_source_it,
3724
4
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
4
                                prefix_result.parsed_base));
3726
3727
4
        return ranges::next(
3728
4
            prefix_result.iterator,
3729
4
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
4
                ranges::ssize(thsep_indices));
3731
4
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3661
202
    {
3662
202
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
202
                                   .transform_error(make_eof_scan_error));
3664
3665
202
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
            else {
3673
                if (specs.type ==
3674
                    detail::presentation_type::int_unsigned_decimal) {
3675
                    return detail::unexpected_scan_error(
3676
                        scan_error::invalid_scanned_value,
3677
                        "'u'-option disallows negative values");
3678
                }
3679
            }
3680
0
        }
3681
3682
202
        if (prefix_result.is_zero) {
3683
6
            value = T{0};
3684
6
            return std::next(prefix_result.iterator);
3685
6
        }
3686
3687
196
        if (SCN_LIKELY(!specs.localized)) {
3688
170
            SCN_TRY(after_digits_it,
3689
14
                    parse_integer_digits_without_thsep(
3690
14
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
14
                        prefix_result.parsed_base));
3692
3693
14
            auto buf = make_contiguous_buffer(
3694
14
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
14
            SCN_TRY(result_it,
3696
14
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
14
                                        prefix_result.parsed_base));
3698
3699
14
            return ranges::next(
3700
14
                prefix_result.iterator,
3701
14
                ranges::distance(buf.view().begin(), result_it));
3702
14
        }
3703
3704
26
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
26
            localized_number_formatting_options<CharT>{loc};
3710
26
#endif
3711
3712
26
        SCN_TRY(parse_digits_result,
3713
4
                parse_integer_digits_with_thsep(
3714
4
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
4
                    prefix_result.parsed_base, locale_options));
3716
4
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
4
            parse_digits_result;
3718
4
        SCN_UNUSED(after_digits_it);
3719
3720
4
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
4
            nothsep_source.data(), nothsep_source.size()};
3722
4
        SCN_TRY(
3723
4
            nothsep_source_it,
3724
4
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
4
                                prefix_result.parsed_base));
3726
3727
4
        return ranges::next(
3728
4
            prefix_result.iterator,
3729
4
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
4
                ranges::ssize(thsep_indices));
3731
4
    }
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3661
436
    {
3662
436
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
436
                                   .transform_error(make_eof_scan_error));
3664
3665
436
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
            else {
3673
                if (specs.type ==
3674
                    detail::presentation_type::int_unsigned_decimal) {
3675
                    return detail::unexpected_scan_error(
3676
                        scan_error::invalid_scanned_value,
3677
                        "'u'-option disallows negative values");
3678
                }
3679
            }
3680
0
        }
3681
3682
436
        if (prefix_result.is_zero) {
3683
6
            value = T{0};
3684
6
            return std::next(prefix_result.iterator);
3685
6
        }
3686
3687
430
        if (SCN_LIKELY(!specs.localized)) {
3688
406
            SCN_TRY(after_digits_it,
3689
406
                    parse_integer_digits_without_thsep(
3690
406
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
406
                        prefix_result.parsed_base));
3692
3693
406
            auto buf = make_contiguous_buffer(
3694
406
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
406
            SCN_TRY(result_it,
3696
42
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
42
                                        prefix_result.parsed_base));
3698
3699
42
            return ranges::next(
3700
42
                prefix_result.iterator,
3701
42
                ranges::distance(buf.view().begin(), result_it));
3702
406
        }
3703
3704
24
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
24
            localized_number_formatting_options<CharT>{loc};
3710
24
#endif
3711
3712
24
        SCN_TRY(parse_digits_result,
3713
4
                parse_integer_digits_with_thsep(
3714
4
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
4
                    prefix_result.parsed_base, locale_options));
3716
4
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
4
            parse_digits_result;
3718
4
        SCN_UNUSED(after_digits_it);
3719
3720
4
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
4
            nothsep_source.data(), nothsep_source.size()};
3722
4
        SCN_TRY(
3723
4
            nothsep_source_it,
3724
4
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
4
                                prefix_result.parsed_base));
3726
3727
4
        return ranges::next(
3728
4
            prefix_result.iterator,
3729
4
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
4
                ranges::ssize(thsep_indices));
3731
4
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3661
146
    {
3662
146
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
146
                                   .transform_error(make_eof_scan_error));
3664
3665
146
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
            else {
3673
                if (specs.type ==
3674
                    detail::presentation_type::int_unsigned_decimal) {
3675
                    return detail::unexpected_scan_error(
3676
                        scan_error::invalid_scanned_value,
3677
                        "'u'-option disallows negative values");
3678
                }
3679
            }
3680
0
        }
3681
3682
146
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
146
        if (SCN_LIKELY(!specs.localized)) {
3688
146
            SCN_TRY(after_digits_it,
3689
10
                    parse_integer_digits_without_thsep(
3690
10
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
10
                        prefix_result.parsed_base));
3692
3693
10
            auto buf = make_contiguous_buffer(
3694
10
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
10
            SCN_TRY(result_it,
3696
10
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
10
                                        prefix_result.parsed_base));
3698
3699
10
            return ranges::next(
3700
10
                prefix_result.iterator,
3701
10
                ranges::distance(buf.view().begin(), result_it));
3702
10
        }
3703
3704
0
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
0
            localized_number_formatting_options<CharT>{loc};
3710
0
#endif
3711
3712
0
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
_ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3661
856
    {
3662
856
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3663
856
                                   .transform_error(make_eof_scan_error));
3664
3665
856
        if (prefix_result.sign == sign_type::minus_sign) {
3666
0
            if constexpr (!std::is_signed_v<T>) {
3667
0
                return detail::unexpected_scan_error(
3668
0
                    scan_error::invalid_scanned_value,
3669
0
                    "Unexpected '-' sign when parsing an "
3670
0
                    "unsigned value");
3671
            }
3672
            else {
3673
                if (specs.type ==
3674
                    detail::presentation_type::int_unsigned_decimal) {
3675
                    return detail::unexpected_scan_error(
3676
                        scan_error::invalid_scanned_value,
3677
                        "'u'-option disallows negative values");
3678
                }
3679
            }
3680
0
        }
3681
3682
856
        if (prefix_result.is_zero) {
3683
0
            value = T{0};
3684
0
            return std::next(prefix_result.iterator);
3685
0
        }
3686
3687
856
        if (SCN_LIKELY(!specs.localized)) {
3688
856
            SCN_TRY(after_digits_it,
3689
856
                    parse_integer_digits_without_thsep(
3690
856
                        ranges::subrange{prefix_result.iterator, range.end()},
3691
856
                        prefix_result.parsed_base));
3692
3693
856
            auto buf = make_contiguous_buffer(
3694
856
                ranges::subrange{prefix_result.iterator, after_digits_it});
3695
856
            SCN_TRY(result_it,
3696
40
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3697
40
                                        prefix_result.parsed_base));
3698
3699
40
            return ranges::next(
3700
40
                prefix_result.iterator,
3701
40
                ranges::distance(buf.view().begin(), result_it));
3702
856
        }
3703
3704
0
        auto locale_options =
3705
#if SCN_DISABLE_LOCALE
3706
            localized_number_formatting_options<CharT>{};
3707
        SCN_UNUSED(loc);
3708
#else
3709
0
            localized_number_formatting_options<CharT>{loc};
3710
0
#endif
3711
3712
0
        SCN_TRY(parse_digits_result,
3713
0
                parse_integer_digits_with_thsep(
3714
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3715
0
                    prefix_result.parsed_base, locale_options));
3716
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3717
0
            parse_digits_result;
3718
0
        SCN_UNUSED(after_digits_it);
3719
3720
0
        auto nothsep_source_view = std::basic_string_view<CharT>{
3721
0
            nothsep_source.data(), nothsep_source.size()};
3722
0
        SCN_TRY(
3723
0
            nothsep_source_it,
3724
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3725
0
                                prefix_result.parsed_base));
3726
3727
0
        return ranges::next(
3728
0
            prefix_result.iterator,
3729
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3730
0
                ranges::ssize(thsep_indices));
3731
0
    }
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEnEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEoEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEnEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEoEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEnEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEoEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEnEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEoEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
3732
};
3733
3734
/////////////////////////////////////////////////////////////////
3735
// Floating-point reader
3736
/////////////////////////////////////////////////////////////////
3737
3738
struct float_reader_base {
3739
    enum options_type {
3740
        allow_hex = 1,
3741
        allow_scientific = 2,
3742
        allow_fixed = 4,
3743
        allow_thsep = 8
3744
    };
3745
3746
    enum class float_kind {
3747
        tbd = 0,
3748
        generic,             // fixed or scientific
3749
        fixed,               // xxx.yyy
3750
        scientific,          // xxx.yyyEzzz
3751
        hex_without_prefix,  // xxx.yyypzzz
3752
        hex_with_prefix,     // 0Xxxx.yyypzzz
3753
        inf_short,           // inf
3754
        inf_long,            // infinity
3755
        nan_simple,          // nan
3756
        nan_with_payload,    // nan(xxx)
3757
    };
3758
3759
1.13k
    constexpr float_reader_base() = default;
3760
1.29k
    explicit constexpr float_reader_base(unsigned opt) : m_options(opt) {}
3761
3762
protected:
3763
    unsigned m_options{allow_hex | allow_scientific | allow_fixed};
3764
};
3765
3766
template <typename CharT>
3767
class float_reader : public numeric_reader<CharT>, public float_reader_base {
3768
    using numeric_base = numeric_reader<CharT>;
3769
3770
public:
3771
    using char_type = CharT;
3772
3773
1.13k
    constexpr float_reader() = default;
scn::v4::impl::float_reader<char>::float_reader()
Line
Count
Source
3773
644
    constexpr float_reader() = default;
scn::v4::impl::float_reader<wchar_t>::float_reader()
Line
Count
Source
3773
490
    constexpr float_reader() = default;
3774
3775
1.29k
    explicit constexpr float_reader(unsigned opt) : float_reader_base(opt) {}
scn::v4::impl::float_reader<char>::float_reader(unsigned int)
Line
Count
Source
3775
656
    explicit constexpr float_reader(unsigned opt) : float_reader_base(opt) {}
scn::v4::impl::float_reader<wchar_t>::float_reader(unsigned int)
Line
Count
Source
3775
634
    explicit constexpr float_reader(unsigned opt) : float_reader_base(opt) {}
3776
3777
    template <typename Range>
3778
    SCN_NODISCARD auto read_source(Range range, detail::locale_ref)
3779
        -> scan_expected<ranges::const_iterator_t<Range>>
3780
2.37k
    {
3781
2.37k
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3782
0
            m_locale_options = localized_number_formatting_options<CharT>{
3783
0
                classic_with_thsep_tag{}};
3784
0
        }
3785
3786
2.37k
        return read_source_impl(range);
3787
2.37k
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE11read_sourceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
_ZN3scn2v44impl12float_readerIcE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3780
344
    {
3781
344
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3782
0
            m_locale_options = localized_number_formatting_options<CharT>{
3783
0
                classic_with_thsep_tag{}};
3784
0
        }
3785
3786
344
        return read_source_impl(range);
3787
344
    }
_ZN3scn2v44impl12float_readerIcE11read_sourceINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3780
938
    {
3781
938
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3782
0
            m_locale_options = localized_number_formatting_options<CharT>{
3783
0
                classic_with_thsep_tag{}};
3784
0
        }
3785
3786
938
        return read_source_impl(range);
3787
938
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE11read_sourceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
_ZN3scn2v44impl12float_readerIwE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3780
172
    {
3781
172
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3782
0
            m_locale_options = localized_number_formatting_options<CharT>{
3783
0
                classic_with_thsep_tag{}};
3784
0
        }
3785
3786
172
        return read_source_impl(range);
3787
172
    }
_ZN3scn2v44impl12float_readerIwE11read_sourceINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3780
920
    {
3781
920
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3782
0
            m_locale_options = localized_number_formatting_options<CharT>{
3783
0
                classic_with_thsep_tag{}};
3784
0
        }
3785
3786
920
        return read_source_impl(range);
3787
920
    }
3788
3789
#if !SCN_DISABLE_LOCALE
3790
    template <typename Range>
3791
    SCN_NODISCARD auto read_source_localized(Range range,
3792
                                             detail::locale_ref loc)
3793
        -> scan_expected<ranges::const_iterator_t<Range>>
3794
50
    {
3795
50
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3796
50
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3797
0
            m_locale_options.thousands_sep = CharT{0};
3798
0
        }
3799
3800
50
        return read_source_impl(range);
3801
50
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
_ZN3scn2v44impl12float_readerIcE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3794
12
    {
3795
12
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3796
12
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3797
0
            m_locale_options.thousands_sep = CharT{0};
3798
0
        }
3799
3800
12
        return read_source_impl(range);
3801
12
    }
_ZN3scn2v44impl12float_readerIcE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3794
6
    {
3795
6
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3796
6
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3797
0
            m_locale_options.thousands_sep = CharT{0};
3798
0
        }
3799
3800
6
        return read_source_impl(range);
3801
6
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
_ZN3scn2v44impl12float_readerIwE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3794
16
    {
3795
16
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3796
16
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3797
0
            m_locale_options.thousands_sep = CharT{0};
3798
0
        }
3799
3800
16
        return read_source_impl(range);
3801
16
    }
_ZN3scn2v44impl12float_readerIwE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3794
16
    {
3795
16
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3796
16
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3797
0
            m_locale_options.thousands_sep = CharT{0};
3798
0
        }
3799
3800
16
        return read_source_impl(range);
3801
16
    }
3802
#endif
3803
3804
    template <typename T>
3805
    SCN_NODISCARD scan_expected<std::ptrdiff_t> parse_value(T& value)
3806
1.86k
    {
3807
1.86k
        SCN_EXPECT(m_kind != float_kind::tbd);
3808
3809
1.86k
        const std::ptrdiff_t sign_len =
3810
1.86k
            m_sign != sign_type::default_sign ? 1 : 0;
3811
3812
1.86k
        SCN_TRY(n, parse_value_impl(value));
3813
92
        return n + sign_len + ranges::ssize(m_thsep_indices);
3814
1.86k
    }
Unexecuted instantiation: scn::v4::scan_expected<long> scn::v4::impl::float_reader<char>::parse_value<float>(float&)
scn::v4::scan_expected<long> scn::v4::impl::float_reader<char>::parse_value<double>(double&)
Line
Count
Source
3806
922
    {
3807
922
        SCN_EXPECT(m_kind != float_kind::tbd);
3808
3809
922
        const std::ptrdiff_t sign_len =
3810
922
            m_sign != sign_type::default_sign ? 1 : 0;
3811
3812
922
        SCN_TRY(n, parse_value_impl(value));
3813
0
        return n + sign_len + ranges::ssize(m_thsep_indices);
3814
922
    }
Unexecuted instantiation: scn::v4::scan_expected<long> scn::v4::impl::float_reader<char>::parse_value<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<long> scn::v4::impl::float_reader<wchar_t>::parse_value<float>(float&)
scn::v4::scan_expected<long> scn::v4::impl::float_reader<wchar_t>::parse_value<double>(double&)
Line
Count
Source
3806
938
    {
3807
938
        SCN_EXPECT(m_kind != float_kind::tbd);
3808
3809
938
        const std::ptrdiff_t sign_len =
3810
938
            m_sign != sign_type::default_sign ? 1 : 0;
3811
3812
938
        SCN_TRY(n, parse_value_impl(value));
3813
92
        return n + sign_len + ranges::ssize(m_thsep_indices);
3814
938
    }
Unexecuted instantiation: scn::v4::scan_expected<long> scn::v4::impl::float_reader<wchar_t>::parse_value<long double>(long double&)
3815
3816
private:
3817
    template <typename Range>
3818
    auto read_source_impl(Range range)
3819
        -> scan_expected<ranges::const_iterator_t<Range>>
3820
2.42k
    {
3821
2.42k
        SCN_TRY(sign_result,
3822
2.42k
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3823
2.42k
        auto it = sign_result.first;
3824
2.42k
        m_sign = sign_result.second;
3825
3826
2.42k
        auto digits_begin = it;
3827
2.42k
        auto r = ranges::subrange{it, range.end()};
3828
        if constexpr (ranges::contiguous_range<Range> &&
3829
1.88k
                      ranges::sized_range<Range>) {
3830
1.88k
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3831
1.88k
                             m_locale_options.decimal_point != CharT{'.'})) {
3832
0
                SCN_TRY_ASSIGN(
3833
0
                    it,
3834
0
                    do_read_source_impl(
3835
0
                        r,
3836
0
                        [&](const auto& rr) { return read_regular_float(rr); },
3837
0
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3838
0
            }
3839
1.88k
            else {
3840
1.88k
                auto cb = [&](const auto& rr)
3841
1.88k
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3842
1.83k
                    auto res = read_all(rr);
3843
1.83k
                    if (SCN_UNLIKELY(res == r.begin())) {
3844
0
                        return detail::unexpected_scan_error(
3845
0
                            scan_error::invalid_scanned_value,
3846
0
                            "Invalid float value");
3847
0
                    }
3848
1.83k
                    return res;
3849
1.83k
                };
_ZZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E1_clISB_EENSC_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSE_IDtfp_EE4typeEEEEEEESM_
Line
Count
Source
3841
922
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3842
922
                    auto res = read_all(rr);
3843
922
                    if (SCN_UNLIKELY(res == r.begin())) {
3844
0
                        return detail::unexpected_scan_error(
3845
0
                            scan_error::invalid_scanned_value,
3846
0
                            "Invalid float value");
3847
0
                    }
3848
922
                    return res;
3849
922
                };
_ZZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E1_clISB_EENSC_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSE_IDtfp_EE4typeEEEEEEESM_
Line
Count
Source
3841
916
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3842
916
                    auto res = read_all(rr);
3843
916
                    if (SCN_UNLIKELY(res == r.begin())) {
3844
0
                        return detail::unexpected_scan_error(
3845
0
                            scan_error::invalid_scanned_value,
3846
0
                            "Invalid float value");
3847
0
                    }
3848
916
                    return res;
3849
916
                };
3850
1.88k
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3851
1.84k
            }
3852
        }
3853
544
        else {
3854
544
            SCN_TRY_ASSIGN(
3855
20
                it,
3856
20
                do_read_source_impl(
3857
20
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3858
20
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3859
20
        }
3860
3861
2.42k
        SCN_EXPECT(m_kind != float_kind::tbd);
3862
3863
1.86k
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3864
1.86k
            m_kind != float_kind::nan_simple &&
3865
1.86k
            m_kind != float_kind::nan_with_payload) {
3866
1.86k
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3867
1.86k
        }
3868
3869
1.86k
        handle_separators();
3870
3871
1.86k
        return it;
3872
2.42k
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_
Line
Count
Source
3820
356
    {
3821
356
        SCN_TRY(sign_result,
3822
356
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3823
356
        auto it = sign_result.first;
3824
356
        m_sign = sign_result.second;
3825
3826
356
        auto digits_begin = it;
3827
356
        auto r = ranges::subrange{it, range.end()};
3828
        if constexpr (ranges::contiguous_range<Range> &&
3829
                      ranges::sized_range<Range>) {
3830
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3831
                             m_locale_options.decimal_point != CharT{'.'})) {
3832
                SCN_TRY_ASSIGN(
3833
                    it,
3834
                    do_read_source_impl(
3835
                        r,
3836
                        [&](const auto& rr) { return read_regular_float(rr); },
3837
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3838
            }
3839
            else {
3840
                auto cb = [&](const auto& rr)
3841
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3842
                    auto res = read_all(rr);
3843
                    if (SCN_UNLIKELY(res == r.begin())) {
3844
                        return detail::unexpected_scan_error(
3845
                            scan_error::invalid_scanned_value,
3846
                            "Invalid float value");
3847
                    }
3848
                    return res;
3849
                };
3850
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3851
            }
3852
        }
3853
356
        else {
3854
356
            SCN_TRY_ASSIGN(
3855
0
                it,
3856
0
                do_read_source_impl(
3857
0
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3858
0
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3859
0
        }
3860
3861
356
        SCN_EXPECT(m_kind != float_kind::tbd);
3862
3863
0
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3864
0
            m_kind != float_kind::nan_simple &&
3865
0
            m_kind != float_kind::nan_with_payload) {
3866
0
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3867
0
        }
3868
3869
0
        handle_separators();
3870
3871
0
        return it;
3872
356
    }
_ZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3820
944
    {
3821
944
        SCN_TRY(sign_result,
3822
944
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3823
944
        auto it = sign_result.first;
3824
944
        m_sign = sign_result.second;
3825
3826
944
        auto digits_begin = it;
3827
944
        auto r = ranges::subrange{it, range.end()};
3828
        if constexpr (ranges::contiguous_range<Range> &&
3829
944
                      ranges::sized_range<Range>) {
3830
944
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3831
944
                             m_locale_options.decimal_point != CharT{'.'})) {
3832
0
                SCN_TRY_ASSIGN(
3833
0
                    it,
3834
0
                    do_read_source_impl(
3835
0
                        r,
3836
0
                        [&](const auto& rr) { return read_regular_float(rr); },
3837
0
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3838
0
            }
3839
944
            else {
3840
944
                auto cb = [&](const auto& rr)
3841
944
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3842
944
                    auto res = read_all(rr);
3843
944
                    if (SCN_UNLIKELY(res == r.begin())) {
3844
944
                        return detail::unexpected_scan_error(
3845
944
                            scan_error::invalid_scanned_value,
3846
944
                            "Invalid float value");
3847
944
                    }
3848
944
                    return res;
3849
944
                };
3850
944
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3851
922
            }
3852
        }
3853
        else {
3854
            SCN_TRY_ASSIGN(
3855
                it,
3856
                do_read_source_impl(
3857
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3858
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3859
        }
3860
3861
944
        SCN_EXPECT(m_kind != float_kind::tbd);
3862
3863
922
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3864
922
            m_kind != float_kind::nan_simple &&
3865
922
            m_kind != float_kind::nan_with_payload) {
3866
922
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3867
922
        }
3868
3869
922
        handle_separators();
3870
3871
922
        return it;
3872
944
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_
Line
Count
Source
3820
188
    {
3821
188
        SCN_TRY(sign_result,
3822
188
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3823
188
        auto it = sign_result.first;
3824
188
        m_sign = sign_result.second;
3825
3826
188
        auto digits_begin = it;
3827
188
        auto r = ranges::subrange{it, range.end()};
3828
        if constexpr (ranges::contiguous_range<Range> &&
3829
                      ranges::sized_range<Range>) {
3830
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3831
                             m_locale_options.decimal_point != CharT{'.'})) {
3832
                SCN_TRY_ASSIGN(
3833
                    it,
3834
                    do_read_source_impl(
3835
                        r,
3836
                        [&](const auto& rr) { return read_regular_float(rr); },
3837
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3838
            }
3839
            else {
3840
                auto cb = [&](const auto& rr)
3841
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3842
                    auto res = read_all(rr);
3843
                    if (SCN_UNLIKELY(res == r.begin())) {
3844
                        return detail::unexpected_scan_error(
3845
                            scan_error::invalid_scanned_value,
3846
                            "Invalid float value");
3847
                    }
3848
                    return res;
3849
                };
3850
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3851
            }
3852
        }
3853
188
        else {
3854
188
            SCN_TRY_ASSIGN(
3855
20
                it,
3856
20
                do_read_source_impl(
3857
20
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3858
20
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3859
20
        }
3860
3861
188
        SCN_EXPECT(m_kind != float_kind::tbd);
3862
3863
20
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3864
20
            m_kind != float_kind::nan_simple &&
3865
20
            m_kind != float_kind::nan_with_payload) {
3866
20
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3867
20
        }
3868
3869
20
        handle_separators();
3870
3871
20
        return it;
3872
188
    }
_ZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3820
936
    {
3821
936
        SCN_TRY(sign_result,
3822
936
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3823
936
        auto it = sign_result.first;
3824
936
        m_sign = sign_result.second;
3825
3826
936
        auto digits_begin = it;
3827
936
        auto r = ranges::subrange{it, range.end()};
3828
        if constexpr (ranges::contiguous_range<Range> &&
3829
936
                      ranges::sized_range<Range>) {
3830
936
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3831
936
                             m_locale_options.decimal_point != CharT{'.'})) {
3832
0
                SCN_TRY_ASSIGN(
3833
0
                    it,
3834
0
                    do_read_source_impl(
3835
0
                        r,
3836
0
                        [&](const auto& rr) { return read_regular_float(rr); },
3837
0
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3838
0
            }
3839
936
            else {
3840
936
                auto cb = [&](const auto& rr)
3841
936
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3842
936
                    auto res = read_all(rr);
3843
936
                    if (SCN_UNLIKELY(res == r.begin())) {
3844
936
                        return detail::unexpected_scan_error(
3845
936
                            scan_error::invalid_scanned_value,
3846
936
                            "Invalid float value");
3847
936
                    }
3848
936
                    return res;
3849
936
                };
3850
936
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3851
918
            }
3852
        }
3853
        else {
3854
            SCN_TRY_ASSIGN(
3855
                it,
3856
                do_read_source_impl(
3857
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3858
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3859
        }
3860
3861
936
        SCN_EXPECT(m_kind != float_kind::tbd);
3862
3863
918
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3864
918
            m_kind != float_kind::nan_simple &&
3865
918
            m_kind != float_kind::nan_with_payload) {
3866
918
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3867
918
        }
3868
3869
918
        handle_separators();
3870
3871
918
        return it;
3872
936
    }
3873
3874
    template <typename Range>
3875
    auto read_dec_digits(Range range, bool thsep_allowed)
3876
        -> parse_expected<ranges::const_iterator_t<Range>>
3877
578
    {
3878
578
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3879
578
                         thsep_allowed)) {
3880
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3881
0
                return char_to_int(ch) < 10 ||
3882
0
                       ch == m_locale_options.thousands_sep;
3883
0
            });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE_clEw
3884
0
        }
3885
3886
578
        return read_while1_code_unit(
3887
586
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE0_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE0_clEc
_ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE0_clEc
Line
Count
Source
3887
348
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
_ZZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE0_clEc
Line
Count
Source
3887
22
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE0_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE0_clEw
_ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE0_clEw
Line
Count
Source
3887
188
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
_ZZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE0_clEw
Line
Count
Source
3887
28
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
578
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
_ZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3877
348
    {
3878
348
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3879
348
                         thsep_allowed)) {
3880
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3881
0
                return char_to_int(ch) < 10 ||
3882
0
                       ch == m_locale_options.thousands_sep;
3883
0
            });
3884
0
        }
3885
3886
348
        return read_while1_code_unit(
3887
348
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
348
    }
_ZN3scn2v44impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
Line
Count
Source
3877
22
    {
3878
22
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3879
22
                         thsep_allowed)) {
3880
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3881
0
                return char_to_int(ch) < 10 ||
3882
0
                       ch == m_locale_options.thousands_sep;
3883
0
            });
3884
0
        }
3885
3886
22
        return read_while1_code_unit(
3887
22
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
22
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
_ZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3877
184
    {
3878
184
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3879
184
                         thsep_allowed)) {
3880
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3881
0
                return char_to_int(ch) < 10 ||
3882
0
                       ch == m_locale_options.thousands_sep;
3883
0
            });
3884
0
        }
3885
3886
184
        return read_while1_code_unit(
3887
184
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
184
    }
_ZN3scn2v44impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
Line
Count
Source
3877
24
    {
3878
24
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3879
24
                         thsep_allowed)) {
3880
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3881
0
                return char_to_int(ch) < 10 ||
3882
0
                       ch == m_locale_options.thousands_sep;
3883
0
            });
3884
0
        }
3885
3886
24
        return read_while1_code_unit(
3887
24
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
24
    }
3889
    template <typename Range>
3890
    auto read_hex_digits(Range range, bool thsep_allowed)
3891
        -> parse_expected<ranges::const_iterator_t<Range>>
3892
34
    {
3893
34
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3894
34
                         thsep_allowed)) {
3895
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3896
0
                return char_to_int(ch) < 16 ||
3897
0
                       ch == m_locale_options.thousands_sep;
3898
0
            });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE_clEw
3899
0
        }
3900
3901
34
        return read_while1_code_unit(
3902
36
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE0_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE0_clEc
_ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE0_clEc
Line
Count
Source
3902
8
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE0_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE0_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE0_clEw
_ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE0_clEw
Line
Count
Source
3902
28
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE0_clEw
3903
34
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
_ZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3892
8
    {
3893
8
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3894
8
                         thsep_allowed)) {
3895
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3896
0
                return char_to_int(ch) < 16 ||
3897
0
                       ch == m_locale_options.thousands_sep;
3898
0
            });
3899
0
        }
3900
3901
8
        return read_while1_code_unit(
3902
8
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
3903
8
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
_ZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3892
26
    {
3893
26
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3894
26
                         thsep_allowed)) {
3895
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3896
0
                return char_to_int(ch) < 16 ||
3897
0
                       ch == m_locale_options.thousands_sep;
3898
0
            });
3899
0
        }
3900
3901
26
        return read_while1_code_unit(
3902
26
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
3903
26
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
3904
    template <typename Range>
3905
    auto read_hex_prefix(Range range)
3906
        -> parse_expected<ranges::const_iterator_t<Range>>
3907
2.33k
    {
3908
2.33k
        return read_matching_string_classic_nocase(range, "0x");
3909
2.33k
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3907
324
    {
3908
324
        return read_matching_string_classic_nocase(range, "0x");
3909
324
    }
_ZN3scn2v44impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3907
922
    {
3908
922
        return read_matching_string_classic_nocase(range, "0x");
3909
922
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3907
176
    {
3908
176
        return read_matching_string_classic_nocase(range, "0x");
3909
176
    }
_ZN3scn2v44impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3907
916
    {
3908
916
        return read_matching_string_classic_nocase(range, "0x");
3909
916
    }
3910
3911
    template <typename Range>
3912
    auto read_inf(Range range)
3913
        -> parse_expected<ranges::const_iterator_t<Range>>
3914
2.42k
    {
3915
2.42k
        auto it = range.begin();
3916
2.42k
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3917
2.42k
            return unexpected(r.error());
3918
2.42k
        }
3919
0
        else {
3920
0
            it = *r;
3921
0
        }
3922
3923
0
        if (auto r = read_matching_string_classic_nocase(
3924
0
                ranges::subrange{it, range.end()}, "inity");
3925
0
            !r) {
3926
0
            m_kind = float_kind::inf_short;
3927
0
            return it;
3928
0
        }
3929
0
        else {
3930
0
            m_kind = float_kind::inf_long;
3931
0
            return *r;
3932
0
        }
3933
0
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3914
356
    {
3915
356
        auto it = range.begin();
3916
356
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3917
356
            return unexpected(r.error());
3918
356
        }
3919
0
        else {
3920
0
            it = *r;
3921
0
        }
3922
3923
0
        if (auto r = read_matching_string_classic_nocase(
3924
0
                ranges::subrange{it, range.end()}, "inity");
3925
0
            !r) {
3926
0
            m_kind = float_kind::inf_short;
3927
0
            return it;
3928
0
        }
3929
0
        else {
3930
0
            m_kind = float_kind::inf_long;
3931
0
            return *r;
3932
0
        }
3933
0
    }
_ZN3scn2v44impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3914
944
    {
3915
944
        auto it = range.begin();
3916
944
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3917
944
            return unexpected(r.error());
3918
944
        }
3919
0
        else {
3920
0
            it = *r;
3921
0
        }
3922
3923
0
        if (auto r = read_matching_string_classic_nocase(
3924
0
                ranges::subrange{it, range.end()}, "inity");
3925
0
            !r) {
3926
0
            m_kind = float_kind::inf_short;
3927
0
            return it;
3928
0
        }
3929
0
        else {
3930
0
            m_kind = float_kind::inf_long;
3931
0
            return *r;
3932
0
        }
3933
0
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3914
188
    {
3915
188
        auto it = range.begin();
3916
188
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3917
188
            return unexpected(r.error());
3918
188
        }
3919
0
        else {
3920
0
            it = *r;
3921
0
        }
3922
3923
0
        if (auto r = read_matching_string_classic_nocase(
3924
0
                ranges::subrange{it, range.end()}, "inity");
3925
0
            !r) {
3926
0
            m_kind = float_kind::inf_short;
3927
0
            return it;
3928
0
        }
3929
0
        else {
3930
0
            m_kind = float_kind::inf_long;
3931
0
            return *r;
3932
0
        }
3933
0
    }
_ZN3scn2v44impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3914
936
    {
3915
936
        auto it = range.begin();
3916
936
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3917
936
            return unexpected(r.error());
3918
936
        }
3919
0
        else {
3920
0
            it = *r;
3921
0
        }
3922
3923
0
        if (auto r = read_matching_string_classic_nocase(
3924
0
                ranges::subrange{it, range.end()}, "inity");
3925
0
            !r) {
3926
0
            m_kind = float_kind::inf_short;
3927
0
            return it;
3928
0
        }
3929
0
        else {
3930
0
            m_kind = float_kind::inf_long;
3931
0
            return *r;
3932
0
        }
3933
0
    }
3934
3935
    template <typename Range>
3936
    auto read_nan(Range range) -> scan_expected<ranges::const_iterator_t<Range>>
3937
2.42k
    {
3938
2.42k
        auto it = range.begin();
3939
2.42k
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3940
2.42k
            return r.transform_error(map_parse_error_to_scan_error(
3941
2.42k
                scan_error::invalid_scanned_value,
3942
2.42k
                "Invalid floating-point NaN value"));
3943
2.42k
        }
3944
0
        else {
3945
0
            it = *r;
3946
0
        }
3947
3948
0
        if (auto r =
3949
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3950
0
            !r) {
3951
0
            m_kind = float_kind::nan_simple;
3952
0
            return it;
3953
0
        }
3954
0
        else {
3955
0
            it = *r;
3956
0
        }
3957
3958
0
        auto payload_beg_it = it;
3959
0
        it = read_while_code_unit(
3960
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3961
0
                return is_ascii_char(ch) &&
3962
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3963
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3964
0
            });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_ENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_ENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_ENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_ENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlwE_clEw
3965
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3966
3967
0
        m_kind = float_kind::nan_with_payload;
3968
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3969
0
                                             ')')) {
3970
0
            return *r;
3971
0
        }
3972
0
        return detail::unexpected_scan_error(
3973
0
            scan_error::invalid_scanned_value,
3974
0
            "Invalid floating-point NaN payload");
3975
0
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3937
356
    {
3938
356
        auto it = range.begin();
3939
356
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3940
356
            return r.transform_error(map_parse_error_to_scan_error(
3941
356
                scan_error::invalid_scanned_value,
3942
356
                "Invalid floating-point NaN value"));
3943
356
        }
3944
0
        else {
3945
0
            it = *r;
3946
0
        }
3947
3948
0
        if (auto r =
3949
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3950
0
            !r) {
3951
0
            m_kind = float_kind::nan_simple;
3952
0
            return it;
3953
0
        }
3954
0
        else {
3955
0
            it = *r;
3956
0
        }
3957
3958
0
        auto payload_beg_it = it;
3959
0
        it = read_while_code_unit(
3960
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3961
0
                return is_ascii_char(ch) &&
3962
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3963
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3964
0
            });
3965
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3966
3967
0
        m_kind = float_kind::nan_with_payload;
3968
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3969
0
                                             ')')) {
3970
0
            return *r;
3971
0
        }
3972
0
        return detail::unexpected_scan_error(
3973
0
            scan_error::invalid_scanned_value,
3974
0
            "Invalid floating-point NaN payload");
3975
0
    }
_ZN3scn2v44impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3937
944
    {
3938
944
        auto it = range.begin();
3939
944
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3940
944
            return r.transform_error(map_parse_error_to_scan_error(
3941
944
                scan_error::invalid_scanned_value,
3942
944
                "Invalid floating-point NaN value"));
3943
944
        }
3944
0
        else {
3945
0
            it = *r;
3946
0
        }
3947
3948
0
        if (auto r =
3949
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3950
0
            !r) {
3951
0
            m_kind = float_kind::nan_simple;
3952
0
            return it;
3953
0
        }
3954
0
        else {
3955
0
            it = *r;
3956
0
        }
3957
3958
0
        auto payload_beg_it = it;
3959
0
        it = read_while_code_unit(
3960
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3961
0
                return is_ascii_char(ch) &&
3962
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3963
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3964
0
            });
3965
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3966
3967
0
        m_kind = float_kind::nan_with_payload;
3968
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3969
0
                                             ')')) {
3970
0
            return *r;
3971
0
        }
3972
0
        return detail::unexpected_scan_error(
3973
0
            scan_error::invalid_scanned_value,
3974
0
            "Invalid floating-point NaN payload");
3975
0
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3937
188
    {
3938
188
        auto it = range.begin();
3939
188
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3940
188
            return r.transform_error(map_parse_error_to_scan_error(
3941
188
                scan_error::invalid_scanned_value,
3942
188
                "Invalid floating-point NaN value"));
3943
188
        }
3944
0
        else {
3945
0
            it = *r;
3946
0
        }
3947
3948
0
        if (auto r =
3949
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3950
0
            !r) {
3951
0
            m_kind = float_kind::nan_simple;
3952
0
            return it;
3953
0
        }
3954
0
        else {
3955
0
            it = *r;
3956
0
        }
3957
3958
0
        auto payload_beg_it = it;
3959
0
        it = read_while_code_unit(
3960
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3961
0
                return is_ascii_char(ch) &&
3962
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3963
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3964
0
            });
3965
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3966
3967
0
        m_kind = float_kind::nan_with_payload;
3968
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3969
0
                                             ')')) {
3970
0
            return *r;
3971
0
        }
3972
0
        return detail::unexpected_scan_error(
3973
0
            scan_error::invalid_scanned_value,
3974
0
            "Invalid floating-point NaN payload");
3975
0
    }
_ZN3scn2v44impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3937
936
    {
3938
936
        auto it = range.begin();
3939
936
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3940
936
            return r.transform_error(map_parse_error_to_scan_error(
3941
936
                scan_error::invalid_scanned_value,
3942
936
                "Invalid floating-point NaN value"));
3943
936
        }
3944
0
        else {
3945
0
            it = *r;
3946
0
        }
3947
3948
0
        if (auto r =
3949
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3950
0
            !r) {
3951
0
            m_kind = float_kind::nan_simple;
3952
0
            return it;
3953
0
        }
3954
0
        else {
3955
0
            it = *r;
3956
0
        }
3957
3958
0
        auto payload_beg_it = it;
3959
0
        it = read_while_code_unit(
3960
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3961
0
                return is_ascii_char(ch) &&
3962
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3963
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3964
0
            });
3965
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3966
3967
0
        m_kind = float_kind::nan_with_payload;
3968
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3969
0
                                             ')')) {
3970
0
            return *r;
3971
0
        }
3972
0
        return detail::unexpected_scan_error(
3973
0
            scan_error::invalid_scanned_value,
3974
0
            "Invalid floating-point NaN payload");
3975
0
    }
3976
3977
    template <typename Range>
3978
    auto read_exponent(Range range, std::string_view exp)
3979
        -> ranges::const_iterator_t<Range>
3980
22
    {
3981
22
        if (auto r = read_one_of_code_unit(range, exp)) {
3982
0
            auto beg_exp_it = range.begin();
3983
0
            auto it = *r;
3984
3985
0
            if (auto r_sign =
3986
0
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3987
0
                it = r_sign->first;
3988
0
            }
3989
3990
0
            if (auto r_exp = read_while1_code_unit(
3991
0
                    ranges::subrange{it, range.end()},
3992
0
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEEENKUlwE_clEw
3993
0
                SCN_UNLIKELY(!r_exp)) {
3994
0
                it = beg_exp_it;
3995
0
            }
3996
0
            else {
3997
0
                it = *r_exp;
3998
0
            }
3999
4000
0
            return it;
4001
0
        }
4002
22
        return range.begin();
4003
22
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEE
_ZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEE
Line
Count
Source
3980
20
    {
3981
20
        if (auto r = read_one_of_code_unit(range, exp)) {
3982
0
            auto beg_exp_it = range.begin();
3983
0
            auto it = *r;
3984
3985
0
            if (auto r_sign =
3986
0
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3987
0
                it = r_sign->first;
3988
0
            }
3989
3990
0
            if (auto r_exp = read_while1_code_unit(
3991
0
                    ranges::subrange{it, range.end()},
3992
0
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3993
0
                SCN_UNLIKELY(!r_exp)) {
3994
0
                it = beg_exp_it;
3995
0
            }
3996
0
            else {
3997
0
                it = *r_exp;
3998
0
            }
3999
4000
0
            return it;
4001
0
        }
4002
20
        return range.begin();
4003
20
    }
_ZN3scn2v44impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEE
Line
Count
Source
3980
2
    {
3981
2
        if (auto r = read_one_of_code_unit(range, exp)) {
3982
0
            auto beg_exp_it = range.begin();
3983
0
            auto it = *r;
3984
3985
0
            if (auto r_sign =
3986
0
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3987
0
                it = r_sign->first;
3988
0
            }
3989
3990
0
            if (auto r_exp = read_while1_code_unit(
3991
0
                    ranges::subrange{it, range.end()},
3992
0
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3993
0
                SCN_UNLIKELY(!r_exp)) {
3994
0
                it = beg_exp_it;
3995
0
            }
3996
0
            else {
3997
0
                it = *r_exp;
3998
0
            }
3999
4000
0
            return it;
4001
0
        }
4002
2
        return range.begin();
4003
2
    }
4004
4005
    template <typename Range>
4006
    auto read_hexfloat(Range range)
4007
        -> scan_expected<ranges::const_iterator_t<Range>>
4008
28
    {
4009
28
        auto it = range.begin();
4010
4011
28
        std::ptrdiff_t digits_count = 0;
4012
28
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
4013
28
            SCN_UNLIKELY(!r)) {
4014
22
            return r.transform_error(map_parse_error_to_scan_error(
4015
22
                scan_error::invalid_scanned_value,
4016
22
                "Invalid hexadecimal floating-point value"));
4017
22
        }
4018
6
        else {
4019
6
            digits_count += ranges::distance(it, *r);
4020
6
            it = *r;
4021
6
        }
4022
4023
6
        m_integral_part_length = digits_count;
4024
6
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4025
6
                                             m_locale_options.decimal_point)) {
4026
0
            it = *r;
4027
0
        }
4028
4029
6
        if (auto r =
4030
6
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
4031
0
            digits_count += ranges::distance(it, *r);
4032
0
            it = *r;
4033
0
        }
4034
4035
6
        if (SCN_UNLIKELY(digits_count == 0)) {
4036
0
            return detail::unexpected_scan_error(
4037
0
                scan_error::invalid_scanned_value,
4038
0
                "No significand digits in hexfloat");
4039
0
        }
4040
4041
6
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
4042
4043
6
        return it;
4044
6
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
4008
8
    {
4009
8
        auto it = range.begin();
4010
4011
8
        std::ptrdiff_t digits_count = 0;
4012
8
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
4013
8
            SCN_UNLIKELY(!r)) {
4014
8
            return r.transform_error(map_parse_error_to_scan_error(
4015
8
                scan_error::invalid_scanned_value,
4016
8
                "Invalid hexadecimal floating-point value"));
4017
8
        }
4018
0
        else {
4019
0
            digits_count += ranges::distance(it, *r);
4020
0
            it = *r;
4021
0
        }
4022
4023
0
        m_integral_part_length = digits_count;
4024
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4025
0
                                             m_locale_options.decimal_point)) {
4026
0
            it = *r;
4027
0
        }
4028
4029
0
        if (auto r =
4030
0
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
4031
0
            digits_count += ranges::distance(it, *r);
4032
0
            it = *r;
4033
0
        }
4034
4035
0
        if (SCN_UNLIKELY(digits_count == 0)) {
4036
0
            return detail::unexpected_scan_error(
4037
0
                scan_error::invalid_scanned_value,
4038
0
                "No significand digits in hexfloat");
4039
0
        }
4040
4041
0
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
4042
4043
0
        return it;
4044
0
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
4008
20
    {
4009
20
        auto it = range.begin();
4010
4011
20
        std::ptrdiff_t digits_count = 0;
4012
20
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
4013
20
            SCN_UNLIKELY(!r)) {
4014
14
            return r.transform_error(map_parse_error_to_scan_error(
4015
14
                scan_error::invalid_scanned_value,
4016
14
                "Invalid hexadecimal floating-point value"));
4017
14
        }
4018
6
        else {
4019
6
            digits_count += ranges::distance(it, *r);
4020
6
            it = *r;
4021
6
        }
4022
4023
6
        m_integral_part_length = digits_count;
4024
6
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4025
6
                                             m_locale_options.decimal_point)) {
4026
0
            it = *r;
4027
0
        }
4028
4029
6
        if (auto r =
4030
6
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
4031
0
            digits_count += ranges::distance(it, *r);
4032
0
            it = *r;
4033
0
        }
4034
4035
6
        if (SCN_UNLIKELY(digits_count == 0)) {
4036
0
            return detail::unexpected_scan_error(
4037
0
                scan_error::invalid_scanned_value,
4038
0
                "No significand digits in hexfloat");
4039
0
        }
4040
4041
6
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
4042
4043
6
        return it;
4044
6
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
4045
4046
    template <typename Range>
4047
    auto read_regular_float(Range range)
4048
        -> scan_expected<ranges::const_iterator_t<Range>>
4049
558
    {
4050
558
        const bool allowed_exp = (m_options & allow_scientific) != 0;
4051
558
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
4052
4053
558
        auto it = ranges::begin(range);
4054
558
        std::ptrdiff_t digits_count = 0;
4055
4056
558
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
4057
558
            SCN_UNLIKELY(!r)) {
4058
538
            return r.transform_error(
4059
538
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
4060
538
                                              "Invalid floating-point value"));
4061
538
        }
4062
20
        else {
4063
20
            digits_count += ranges::distance(it, *r);
4064
20
            it = *r;
4065
20
        }
4066
4067
20
        m_integral_part_length = digits_count;
4068
20
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4069
20
                                             m_locale_options.decimal_point)) {
4070
0
            it = *r;
4071
0
        }
4072
4073
20
        if (auto r =
4074
20
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
4075
0
            digits_count += ranges::distance(it, *r);
4076
0
            it = *r;
4077
0
        }
4078
4079
20
        if (SCN_UNLIKELY(digits_count == 0)) {
4080
0
            return detail::unexpected_scan_error(
4081
0
                scan_error::invalid_scanned_value,
4082
0
                "No significand digits in float");
4083
0
        }
4084
4085
20
        auto beg_exp_it = it;
4086
20
        if (allowed_exp) {
4087
16
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
4088
16
        }
4089
20
        if (required_exp && beg_exp_it == it) {
4090
4
            return detail::unexpected_scan_error(
4091
4
                scan_error::invalid_scanned_value,
4092
4
                "No exponent given to scientific float");
4093
4
        }
4094
4095
16
        m_kind =
4096
16
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
4097
4098
16
        return it;
4099
20
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
4049
348
    {
4050
348
        const bool allowed_exp = (m_options & allow_scientific) != 0;
4051
348
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
4052
4053
348
        auto it = ranges::begin(range);
4054
348
        std::ptrdiff_t digits_count = 0;
4055
4056
348
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
4057
348
            SCN_UNLIKELY(!r)) {
4058
348
            return r.transform_error(
4059
348
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
4060
348
                                              "Invalid floating-point value"));
4061
348
        }
4062
0
        else {
4063
0
            digits_count += ranges::distance(it, *r);
4064
0
            it = *r;
4065
0
        }
4066
4067
0
        m_integral_part_length = digits_count;
4068
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4069
0
                                             m_locale_options.decimal_point)) {
4070
0
            it = *r;
4071
0
        }
4072
4073
0
        if (auto r =
4074
0
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
4075
0
            digits_count += ranges::distance(it, *r);
4076
0
            it = *r;
4077
0
        }
4078
4079
0
        if (SCN_UNLIKELY(digits_count == 0)) {
4080
0
            return detail::unexpected_scan_error(
4081
0
                scan_error::invalid_scanned_value,
4082
0
                "No significand digits in float");
4083
0
        }
4084
4085
0
        auto beg_exp_it = it;
4086
0
        if (allowed_exp) {
4087
0
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
4088
0
        }
4089
0
        if (required_exp && beg_exp_it == it) {
4090
0
            return detail::unexpected_scan_error(
4091
0
                scan_error::invalid_scanned_value,
4092
0
                "No exponent given to scientific float");
4093
0
        }
4094
4095
0
        m_kind =
4096
0
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
4097
4098
0
        return it;
4099
0
    }
_ZN3scn2v44impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
4049
22
    {
4050
22
        const bool allowed_exp = (m_options & allow_scientific) != 0;
4051
22
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
4052
4053
22
        auto it = ranges::begin(range);
4054
22
        std::ptrdiff_t digits_count = 0;
4055
4056
22
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
4057
22
            SCN_UNLIKELY(!r)) {
4058
22
            return r.transform_error(
4059
22
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
4060
22
                                              "Invalid floating-point value"));
4061
22
        }
4062
0
        else {
4063
0
            digits_count += ranges::distance(it, *r);
4064
0
            it = *r;
4065
0
        }
4066
4067
0
        m_integral_part_length = digits_count;
4068
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4069
0
                                             m_locale_options.decimal_point)) {
4070
0
            it = *r;
4071
0
        }
4072
4073
0
        if (auto r =
4074
0
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
4075
0
            digits_count += ranges::distance(it, *r);
4076
0
            it = *r;
4077
0
        }
4078
4079
0
        if (SCN_UNLIKELY(digits_count == 0)) {
4080
0
            return detail::unexpected_scan_error(
4081
0
                scan_error::invalid_scanned_value,
4082
0
                "No significand digits in float");
4083
0
        }
4084
4085
0
        auto beg_exp_it = it;
4086
0
        if (allowed_exp) {
4087
0
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
4088
0
        }
4089
0
        if (required_exp && beg_exp_it == it) {
4090
0
            return detail::unexpected_scan_error(
4091
0
                scan_error::invalid_scanned_value,
4092
0
                "No exponent given to scientific float");
4093
0
        }
4094
4095
0
        m_kind =
4096
0
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
4097
4098
0
        return it;
4099
0
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
_ZN3scn2v44impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
4049
168
    {
4050
168
        const bool allowed_exp = (m_options & allow_scientific) != 0;
4051
168
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
4052
4053
168
        auto it = ranges::begin(range);
4054
168
        std::ptrdiff_t digits_count = 0;
4055
4056
168
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
4057
168
            SCN_UNLIKELY(!r)) {
4058
152
            return r.transform_error(
4059
152
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
4060
152
                                              "Invalid floating-point value"));
4061
152
        }
4062
16
        else {
4063
16
            digits_count += ranges::distance(it, *r);
4064
16
            it = *r;
4065
16
        }
4066
4067
16
        m_integral_part_length = digits_count;
4068
16
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4069
16
                                             m_locale_options.decimal_point)) {
4070
0
            it = *r;
4071
0
        }
4072
4073
16
        if (auto r =
4074
16
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
4075
0
            digits_count += ranges::distance(it, *r);
4076
0
            it = *r;
4077
0
        }
4078
4079
16
        if (SCN_UNLIKELY(digits_count == 0)) {
4080
0
            return detail::unexpected_scan_error(
4081
0
                scan_error::invalid_scanned_value,
4082
0
                "No significand digits in float");
4083
0
        }
4084
4085
16
        auto beg_exp_it = it;
4086
16
        if (allowed_exp) {
4087
14
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
4088
14
        }
4089
16
        if (required_exp && beg_exp_it == it) {
4090
2
            return detail::unexpected_scan_error(
4091
2
                scan_error::invalid_scanned_value,
4092
2
                "No exponent given to scientific float");
4093
2
        }
4094
4095
14
        m_kind =
4096
14
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
4097
4098
14
        return it;
4099
16
    }
_ZN3scn2v44impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
4049
20
    {
4050
20
        const bool allowed_exp = (m_options & allow_scientific) != 0;
4051
20
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
4052
4053
20
        auto it = ranges::begin(range);
4054
20
        std::ptrdiff_t digits_count = 0;
4055
4056
20
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
4057
20
            SCN_UNLIKELY(!r)) {
4058
16
            return r.transform_error(
4059
16
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
4060
16
                                              "Invalid floating-point value"));
4061
16
        }
4062
4
        else {
4063
4
            digits_count += ranges::distance(it, *r);
4064
4
            it = *r;
4065
4
        }
4066
4067
4
        m_integral_part_length = digits_count;
4068
4
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
4069
4
                                             m_locale_options.decimal_point)) {
4070
0
            it = *r;
4071
0
        }
4072
4073
4
        if (auto r =
4074
4
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
4075
0
            digits_count += ranges::distance(it, *r);
4076
0
            it = *r;
4077
0
        }
4078
4079
4
        if (SCN_UNLIKELY(digits_count == 0)) {
4080
0
            return detail::unexpected_scan_error(
4081
0
                scan_error::invalid_scanned_value,
4082
0
                "No significand digits in float");
4083
0
        }
4084
4085
4
        auto beg_exp_it = it;
4086
4
        if (allowed_exp) {
4087
2
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
4088
2
        }
4089
4
        if (required_exp && beg_exp_it == it) {
4090
2
            return detail::unexpected_scan_error(
4091
2
                scan_error::invalid_scanned_value,
4092
2
                "No exponent given to scientific float");
4093
2
        }
4094
4095
2
        m_kind =
4096
2
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
4097
4098
2
        return it;
4099
4
    }
4100
4101
    template <typename Range, typename ReadRegular, typename ReadHex>
4102
    auto do_read_source_impl(Range range,
4103
                             ReadRegular&& read_regular,
4104
                             ReadHex&& read_hex)
4105
        -> scan_expected<ranges::const_iterator_t<Range>>
4106
2.42k
    {
4107
2.42k
        const bool allowed_hex = (m_options & allow_hex) != 0;
4108
2.42k
        const bool allowed_nonhex =
4109
2.42k
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4110
2.42k
             ~static_cast<unsigned>(allow_hex)) != 0;
4111
4112
2.42k
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4113
0
            return r.transform_error(map_parse_error_to_scan_error(
4114
0
                scan_error::invalid_scanned_value,
4115
0
                "Invalid infinite floating-point value"));
4116
0
        }
4117
2.42k
        else if (r) {
4118
0
            return *r;
4119
0
        }
4120
4121
2.42k
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4122
0
            return unexpected(r.error());
4123
0
        }
4124
2.42k
        else if (r) {
4125
0
            return *r;
4126
0
        }
4127
4128
2.42k
        if (allowed_hex && !allowed_nonhex) {
4129
            // only hex allowed:
4130
            // prefix "0x" allowed, not required
4131
86
            auto it = range.begin();
4132
4133
86
            if (auto r = read_hex_prefix(range)) {
4134
0
                m_kind = float_kind::hex_with_prefix;
4135
0
                it = *r;
4136
0
            }
4137
86
            else {
4138
86
                m_kind = float_kind::hex_without_prefix;
4139
86
            }
4140
4141
86
            return read_hex(ranges::subrange{it, range.end()});
4142
86
        }
4143
2.33k
        if (!allowed_hex && allowed_nonhex) {
4144
            // only nonhex allowed:
4145
            // no prefix allowed
4146
86
            m_kind = float_kind::generic;
4147
86
            return read_regular_float(range);
4148
86
        }
4149
        // both hex and nonhex allowed:
4150
        // check for "0x" prefix -> hex,
4151
        // regular otherwise
4152
4153
2.25k
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4154
0
            m_kind = float_kind::hex_with_prefix;
4155
0
            return read_hex(ranges::subrange{*r, range.end()});
4156
0
        }
4157
4158
2.25k
        m_kind = float_kind::generic;
4159
2.25k
        return read_regular(range);
4160
2.25k
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEZNS3_16read_source_implISJ_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlRKSR_E_ZNSN_ISJ_EESW_SR_EUlSY_E0_EESW_SR_OT0_OT1_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_16read_source_implISE_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlRKSJ_E_ZNSF_ISE_EESO_SJ_EUlSQ_E0_EESO_SJ_OT0_OT1_
_ZN3scn2v44impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEZNS3_16read_source_implISG_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_EUlRKSO_E_ZNSK_ISG_EEST_SO_EUlSV_E0_EEST_SO_OT0_OT1_
Line
Count
Source
4106
356
    {
4107
356
        const bool allowed_hex = (m_options & allow_hex) != 0;
4108
356
        const bool allowed_nonhex =
4109
356
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4110
356
             ~static_cast<unsigned>(allow_hex)) != 0;
4111
4112
356
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4113
0
            return r.transform_error(map_parse_error_to_scan_error(
4114
0
                scan_error::invalid_scanned_value,
4115
0
                "Invalid infinite floating-point value"));
4116
0
        }
4117
356
        else if (r) {
4118
0
            return *r;
4119
0
        }
4120
4121
356
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4122
0
            return unexpected(r.error());
4123
0
        }
4124
356
        else if (r) {
4125
0
            return *r;
4126
0
        }
4127
4128
356
        if (allowed_hex && !allowed_nonhex) {
4129
            // only hex allowed:
4130
            // prefix "0x" allowed, not required
4131
8
            auto it = range.begin();
4132
4133
8
            if (auto r = read_hex_prefix(range)) {
4134
0
                m_kind = float_kind::hex_with_prefix;
4135
0
                it = *r;
4136
0
            }
4137
8
            else {
4138
8
                m_kind = float_kind::hex_without_prefix;
4139
8
            }
4140
4141
8
            return read_hex(ranges::subrange{it, range.end()});
4142
8
        }
4143
348
        if (!allowed_hex && allowed_nonhex) {
4144
            // only nonhex allowed:
4145
            // no prefix allowed
4146
32
            m_kind = float_kind::generic;
4147
32
            return read_regular_float(range);
4148
32
        }
4149
        // both hex and nonhex allowed:
4150
        // check for "0x" prefix -> hex,
4151
        // regular otherwise
4152
4153
316
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4154
0
            m_kind = float_kind::hex_with_prefix;
4155
0
            return read_hex(ranges::subrange{*r, range.end()});
4156
0
        }
4157
4158
316
        m_kind = float_kind::generic;
4159
316
        return read_regular(range);
4160
316
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E_ZNSC_ISB_EESL_SG_EUlSN_E0_EESL_SG_OT0_OT1_
_ZN3scn2v44impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EERZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E1_SP_EESL_SG_OT0_OT1_
Line
Count
Source
4106
944
    {
4107
944
        const bool allowed_hex = (m_options & allow_hex) != 0;
4108
944
        const bool allowed_nonhex =
4109
944
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4110
944
             ~static_cast<unsigned>(allow_hex)) != 0;
4111
4112
944
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4113
0
            return r.transform_error(map_parse_error_to_scan_error(
4114
0
                scan_error::invalid_scanned_value,
4115
0
                "Invalid infinite floating-point value"));
4116
0
        }
4117
944
        else if (r) {
4118
0
            return *r;
4119
0
        }
4120
4121
944
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4122
0
            return unexpected(r.error());
4123
0
        }
4124
944
        else if (r) {
4125
0
            return *r;
4126
0
        }
4127
4128
944
        if (allowed_hex && !allowed_nonhex) {
4129
            // only hex allowed:
4130
            // prefix "0x" allowed, not required
4131
8
            auto it = range.begin();
4132
4133
8
            if (auto r = read_hex_prefix(range)) {
4134
0
                m_kind = float_kind::hex_with_prefix;
4135
0
                it = *r;
4136
0
            }
4137
8
            else {
4138
8
                m_kind = float_kind::hex_without_prefix;
4139
8
            }
4140
4141
8
            return read_hex(ranges::subrange{it, range.end()});
4142
8
        }
4143
936
        if (!allowed_hex && allowed_nonhex) {
4144
            // only nonhex allowed:
4145
            // no prefix allowed
4146
22
            m_kind = float_kind::generic;
4147
22
            return read_regular_float(range);
4148
22
        }
4149
        // both hex and nonhex allowed:
4150
        // check for "0x" prefix -> hex,
4151
        // regular otherwise
4152
4153
914
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4154
0
            m_kind = float_kind::hex_with_prefix;
4155
0
            return read_hex(ranges::subrange{*r, range.end()});
4156
0
        }
4157
4158
914
        m_kind = float_kind::generic;
4159
914
        return read_regular(range);
4160
914
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEZNS3_16read_source_implISJ_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlRKSR_E_ZNSN_ISJ_EESW_SR_EUlSY_E0_EESW_SR_OT0_OT1_
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_16read_source_implISE_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlRKSJ_E_ZNSF_ISE_EESO_SJ_EUlSQ_E0_EESO_SJ_OT0_OT1_
_ZN3scn2v44impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEZNS3_16read_source_implISG_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_EUlRKSO_E_ZNSK_ISG_EEST_SO_EUlSV_E0_EEST_SO_OT0_OT1_
Line
Count
Source
4106
188
    {
4107
188
        const bool allowed_hex = (m_options & allow_hex) != 0;
4108
188
        const bool allowed_nonhex =
4109
188
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4110
188
             ~static_cast<unsigned>(allow_hex)) != 0;
4111
4112
188
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4113
0
            return r.transform_error(map_parse_error_to_scan_error(
4114
0
                scan_error::invalid_scanned_value,
4115
0
                "Invalid infinite floating-point value"));
4116
0
        }
4117
188
        else if (r) {
4118
0
            return *r;
4119
0
        }
4120
4121
188
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4122
0
            return unexpected(r.error());
4123
0
        }
4124
188
        else if (r) {
4125
0
            return *r;
4126
0
        }
4127
4128
188
        if (allowed_hex && !allowed_nonhex) {
4129
            // only hex allowed:
4130
            // prefix "0x" allowed, not required
4131
20
            auto it = range.begin();
4132
4133
20
            if (auto r = read_hex_prefix(range)) {
4134
0
                m_kind = float_kind::hex_with_prefix;
4135
0
                it = *r;
4136
0
            }
4137
20
            else {
4138
20
                m_kind = float_kind::hex_without_prefix;
4139
20
            }
4140
4141
20
            return read_hex(ranges::subrange{it, range.end()});
4142
20
        }
4143
168
        if (!allowed_hex && allowed_nonhex) {
4144
            // only nonhex allowed:
4145
            // no prefix allowed
4146
12
            m_kind = float_kind::generic;
4147
12
            return read_regular_float(range);
4148
12
        }
4149
        // both hex and nonhex allowed:
4150
        // check for "0x" prefix -> hex,
4151
        // regular otherwise
4152
4153
156
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4154
0
            m_kind = float_kind::hex_with_prefix;
4155
0
            return read_hex(ranges::subrange{*r, range.end()});
4156
0
        }
4157
4158
156
        m_kind = float_kind::generic;
4159
156
        return read_regular(range);
4160
156
    }
Unexecuted instantiation: _ZN3scn2v44impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E_ZNSC_ISB_EESL_SG_EUlSN_E0_EESL_SG_OT0_OT1_
_ZN3scn2v44impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EERZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E1_SP_EESL_SG_OT0_OT1_
Line
Count
Source
4106
936
    {
4107
936
        const bool allowed_hex = (m_options & allow_hex) != 0;
4108
936
        const bool allowed_nonhex =
4109
936
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4110
936
             ~static_cast<unsigned>(allow_hex)) != 0;
4111
4112
936
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4113
0
            return r.transform_error(map_parse_error_to_scan_error(
4114
0
                scan_error::invalid_scanned_value,
4115
0
                "Invalid infinite floating-point value"));
4116
0
        }
4117
936
        else if (r) {
4118
0
            return *r;
4119
0
        }
4120
4121
936
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4122
0
            return unexpected(r.error());
4123
0
        }
4124
936
        else if (r) {
4125
0
            return *r;
4126
0
        }
4127
4128
936
        if (allowed_hex && !allowed_nonhex) {
4129
            // only hex allowed:
4130
            // prefix "0x" allowed, not required
4131
50
            auto it = range.begin();
4132
4133
50
            if (auto r = read_hex_prefix(range)) {
4134
0
                m_kind = float_kind::hex_with_prefix;
4135
0
                it = *r;
4136
0
            }
4137
50
            else {
4138
50
                m_kind = float_kind::hex_without_prefix;
4139
50
            }
4140
4141
50
            return read_hex(ranges::subrange{it, range.end()});
4142
50
        }
4143
886
        if (!allowed_hex && allowed_nonhex) {
4144
            // only nonhex allowed:
4145
            // no prefix allowed
4146
20
            m_kind = float_kind::generic;
4147
20
            return read_regular_float(range);
4148
20
        }
4149
        // both hex and nonhex allowed:
4150
        // check for "0x" prefix -> hex,
4151
        // regular otherwise
4152
4153
866
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4154
0
            m_kind = float_kind::hex_with_prefix;
4155
0
            return read_hex(ranges::subrange{*r, range.end()});
4156
0
        }
4157
4158
866
        m_kind = float_kind::generic;
4159
866
        return read_regular(range);
4160
866
    }
4161
4162
    void handle_separators()
4163
1.86k
    {
4164
1.86k
        if (m_locale_options.thousands_sep == 0 &&
4165
1.86k
            m_locale_options.decimal_point == CharT{'.'}) {
4166
1.86k
            return;
4167
1.86k
        }
4168
4169
0
        auto& str = this->m_buffer.make_into_allocated_string();
4170
0
        if (m_locale_options.decimal_point != CharT{'.'}) {
4171
0
            for (auto& ch : str) {
4172
0
                if (ch == m_locale_options.decimal_point) {
4173
0
                    ch = CharT{'.'};
4174
0
                }
4175
0
            }
4176
0
        }
4177
4178
0
        if (m_locale_options.thousands_sep == 0) {
4179
0
            return;
4180
0
        }
4181
4182
0
        auto first =
4183
0
            std::find(str.begin(), str.end(), m_locale_options.thousands_sep);
4184
0
        if (first == str.end()) {
4185
0
            return;
4186
0
        }
4187
4188
0
        m_thsep_indices.push_back(
4189
0
            static_cast<char>(ranges::distance(str.begin(), first)));
4190
4191
0
        for (auto it = first; ++it != str.end();) {
4192
0
            if (*it != m_locale_options.thousands_sep) {
4193
0
                *first++ = std::move(*it);
4194
0
            }
4195
0
            else {
4196
0
                m_thsep_indices.push_back(
4197
0
                    static_cast<char>(ranges::distance(str.begin(), it)));
4198
0
            }
4199
0
        }
4200
4201
0
        str.erase(first, str.end());
4202
0
    }
scn::v4::impl::float_reader<char>::handle_separators()
Line
Count
Source
4163
922
    {
4164
922
        if (m_locale_options.thousands_sep == 0 &&
4165
922
            m_locale_options.decimal_point == CharT{'.'}) {
4166
922
            return;
4167
922
        }
4168
4169
0
        auto& str = this->m_buffer.make_into_allocated_string();
4170
0
        if (m_locale_options.decimal_point != CharT{'.'}) {
4171
0
            for (auto& ch : str) {
4172
0
                if (ch == m_locale_options.decimal_point) {
4173
0
                    ch = CharT{'.'};
4174
0
                }
4175
0
            }
4176
0
        }
4177
4178
0
        if (m_locale_options.thousands_sep == 0) {
4179
0
            return;
4180
0
        }
4181
4182
0
        auto first =
4183
0
            std::find(str.begin(), str.end(), m_locale_options.thousands_sep);
4184
0
        if (first == str.end()) {
4185
0
            return;
4186
0
        }
4187
4188
0
        m_thsep_indices.push_back(
4189
0
            static_cast<char>(ranges::distance(str.begin(), first)));
4190
4191
0
        for (auto it = first; ++it != str.end();) {
4192
0
            if (*it != m_locale_options.thousands_sep) {
4193
0
                *first++ = std::move(*it);
4194
0
            }
4195
0
            else {
4196
0
                m_thsep_indices.push_back(
4197
0
                    static_cast<char>(ranges::distance(str.begin(), it)));
4198
0
            }
4199
0
        }
4200
4201
0
        str.erase(first, str.end());
4202
0
    }
scn::v4::impl::float_reader<wchar_t>::handle_separators()
Line
Count
Source
4163
938
    {
4164
938
        if (m_locale_options.thousands_sep == 0 &&
4165
938
            m_locale_options.decimal_point == CharT{'.'}) {
4166
938
            return;
4167
938
        }
4168
4169
0
        auto& str = this->m_buffer.make_into_allocated_string();
4170
0
        if (m_locale_options.decimal_point != CharT{'.'}) {
4171
0
            for (auto& ch : str) {
4172
0
                if (ch == m_locale_options.decimal_point) {
4173
0
                    ch = CharT{'.'};
4174
0
                }
4175
0
            }
4176
0
        }
4177
4178
0
        if (m_locale_options.thousands_sep == 0) {
4179
0
            return;
4180
0
        }
4181
4182
0
        auto first =
4183
0
            std::find(str.begin(), str.end(), m_locale_options.thousands_sep);
4184
0
        if (first == str.end()) {
4185
0
            return;
4186
0
        }
4187
4188
0
        m_thsep_indices.push_back(
4189
0
            static_cast<char>(ranges::distance(str.begin(), first)));
4190
4191
0
        for (auto it = first; ++it != str.end();) {
4192
0
            if (*it != m_locale_options.thousands_sep) {
4193
0
                *first++ = std::move(*it);
4194
0
            }
4195
0
            else {
4196
0
                m_thsep_indices.push_back(
4197
0
                    static_cast<char>(ranges::distance(str.begin(), it)));
4198
0
            }
4199
0
        }
4200
4201
0
        str.erase(first, str.end());
4202
0
    }
4203
4204
    template <typename T>
4205
    T setsign(T value) const
4206
92
    {
4207
92
        if (m_sign == sign_type::minus_sign) {
4208
0
            return std::copysign(value, static_cast<T>(-1.0));
4209
0
        }
4210
92
        return std::copysign(value, static_cast<T>(1.0));
4211
92
    }
Unexecuted instantiation: float scn::v4::impl::float_reader<char>::setsign<float>(float) const
Unexecuted instantiation: float scn::v4::impl::float_reader<wchar_t>::setsign<float>(float) const
Unexecuted instantiation: double scn::v4::impl::float_reader<char>::setsign<double>(double) const
double scn::v4::impl::float_reader<wchar_t>::setsign<double>(double) const
Line
Count
Source
4206
92
    {
4207
92
        if (m_sign == sign_type::minus_sign) {
4208
0
            return std::copysign(value, static_cast<T>(-1.0));
4209
0
        }
4210
92
        return std::copysign(value, static_cast<T>(1.0));
4211
92
    }
Unexecuted instantiation: long double scn::v4::impl::float_reader<char>::setsign<long double>(long double) const
Unexecuted instantiation: long double scn::v4::impl::float_reader<wchar_t>::setsign<long double>(long double) const
4212
4213
    template <typename T>
4214
    scan_expected<std::ptrdiff_t> parse_value_impl(T& value);
4215
4216
    localized_number_formatting_options<CharT> m_locale_options{};
4217
    std::string m_thsep_indices{};
4218
    contiguous_range_factory<CharT> m_nan_payload_buffer{};
4219
    std::ptrdiff_t m_integral_part_length{-1};
4220
    sign_type m_sign{sign_type::default_sign};
4221
    float_kind m_kind{float_kind::tbd};
4222
};
4223
4224
#define SCN_DECLARE_FLOAT_READER_TEMPLATE(CharT, FloatT)                \
4225
    extern template auto float_reader<CharT>::parse_value_impl(FloatT&) \
4226
        -> scan_expected<std::ptrdiff_t>;
4227
4228
#if !SCN_DISABLE_TYPE_FLOAT
4229
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, float)
4230
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, float)
4231
#endif
4232
#if !SCN_DISABLE_TYPE_DOUBLE
4233
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, double)
4234
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, double)
4235
#endif
4236
#if !SCN_DISABLE_TYPE_LONG_DOUBLE
4237
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, long double)
4238
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, long double)
4239
#endif
4240
4241
#if SCN_HAS_STD_F16 && !SCN_DISABLE_TYPE_FLOAT16
4242
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, std::float16_t)
4243
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, std::float16_t)
4244
#endif
4245
#if SCN_HAS_STD_F32 && !SCN_DISABLE_TYPE_FLOAT32
4246
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, std::float32_t)
4247
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, std::float32_t)
4248
#endif
4249
#if SCN_HAS_STD_F64 && !SCN_DISABLE_TYPE_FLOAT64
4250
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, std::float64_t)
4251
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, std::float64_t)
4252
#endif
4253
#if SCN_HAS_STD_F128 && !SCN_DISABLE_TYPE_FLOAT128
4254
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, std::float128_t)
4255
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, std::float128_t)
4256
#endif
4257
#if SCN_HAS_STD_BF16 && !SCN_DISABLE_TYPE_BFLOAT16
4258
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, std::bfloat16_t)
4259
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, std::bfloat16_t)
4260
#endif
4261
4262
#undef SCN_DECLARE_FLOAT_READER_TEMPLATE
4263
4264
template <typename CharT>
4265
class reader_impl_for_float
4266
    : public reader_base<reader_impl_for_float<CharT>, CharT> {
4267
public:
4268
    constexpr reader_impl_for_float() = default;
4269
4270
    void check_specs_impl(const detail::format_specs& specs,
4271
                          reader_error_handler& eh)
4272
3.69k
    {
4273
3.69k
        detail::check_float_type_specs(specs, eh);
4274
3.69k
    }
scn::v4::impl::reader_impl_for_float<char>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
4272
2.40k
    {
4273
2.40k
        detail::check_float_type_specs(specs, eh);
4274
2.40k
    }
scn::v4::impl::reader_impl_for_float<wchar_t>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
4272
1.29k
    {
4273
1.29k
        detail::check_float_type_specs(specs, eh);
4274
1.29k
    }
4275
4276
    template <typename Range, typename T>
4277
    auto read_default(Range range, T& value, detail::locale_ref loc)
4278
        -> scan_expected<ranges::const_iterator_t<Range>>
4279
1.13k
    {
4280
1.13k
        SCN_UNUSED(loc);
4281
4282
1.13k
        float_reader<CharT> rd{};
4283
1.13k
        return read_impl<Range>(
4284
1.13k
            range, rd,
4285
1.13k
            [](float_reader<CharT>& r, auto&&... args) {
4286
1.13k
                return r.read_source(SCN_FWD(args)...);
4287
1.13k
            },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
_ZZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4285
644
            [](float_reader<CharT>& r, auto&&... args) {
4286
644
                return r.read_source(SCN_FWD(args)...);
4287
644
            },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
_ZZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4285
490
            [](float_reader<CharT>& r, auto&&... args) {
4286
490
                return r.read_source(SCN_FWD(args)...);
4287
490
            },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
4288
1.13k
            value);
4289
1.13k
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4279
644
    {
4280
644
        SCN_UNUSED(loc);
4281
4282
644
        float_reader<CharT> rd{};
4283
644
        return read_impl<Range>(
4284
644
            range, rd,
4285
644
            [](float_reader<CharT>& r, auto&&... args) {
4286
644
                return r.read_source(SCN_FWD(args)...);
4287
644
            },
4288
644
            value);
4289
644
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4279
490
    {
4280
490
        SCN_UNUSED(loc);
4281
4282
490
        float_reader<CharT> rd{};
4283
490
        return read_impl<Range>(
4284
490
            range, rd,
4285
490
            [](float_reader<CharT>& r, auto&&... args) {
4286
490
                return r.read_source(SCN_FWD(args)...);
4287
490
            },
4288
490
            value);
4289
490
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
4290
4291
    template <typename Range, typename T>
4292
    auto read_specs(Range range,
4293
                    const detail::format_specs& specs,
4294
                    T& value,
4295
                    detail::locale_ref loc)
4296
        -> scan_expected<ranges::const_iterator_t<Range>>
4297
1.29k
    {
4298
1.29k
        float_reader<CharT> rd{get_options(specs)};
4299
4300
1.29k
#if !SCN_DISABLE_LOCALE
4301
1.29k
        if (specs.localized) {
4302
50
            return read_impl<Range>(
4303
50
                range, rd,
4304
50
                [](float_reader<CharT>& r, auto&&... args) {
4305
50
                    return r.read_source_localized(SCN_FWD(args)...);
4306
50
                },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
_ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4304
12
                [](float_reader<CharT>& r, auto&&... args) {
4305
12
                    return r.read_source_localized(SCN_FWD(args)...);
4306
12
                },
_ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4304
6
                [](float_reader<CharT>& r, auto&&... args) {
4305
6
                    return r.read_source_localized(SCN_FWD(args)...);
4306
6
                },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
_ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4304
16
                [](float_reader<CharT>& r, auto&&... args) {
4305
16
                    return r.read_source_localized(SCN_FWD(args)...);
4306
16
                },
_ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4304
16
                [](float_reader<CharT>& r, auto&&... args) {
4305
16
                    return r.read_source_localized(SCN_FWD(args)...);
4306
16
                },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
4307
50
                value, loc);
4308
50
        }
4309
#else
4310
        SCN_UNUSED(loc);
4311
#endif
4312
4313
1.24k
        return read_impl<Range>(
4314
1.24k
            range, rd,
4315
1.24k
            [](float_reader<CharT>& r, auto&&... args) {
4316
1.24k
                return r.read_source(SCN_FWD(args)...);
4317
1.24k
            },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
_ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4315
344
            [](float_reader<CharT>& r, auto&&... args) {
4316
344
                return r.read_source(SCN_FWD(args)...);
4317
344
            },
_ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4315
294
            [](float_reader<CharT>& r, auto&&... args) {
4316
294
                return r.read_source(SCN_FWD(args)...);
4317
294
            },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
_ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4315
172
            [](float_reader<CharT>& r, auto&&... args) {
4316
172
                return r.read_source(SCN_FWD(args)...);
4317
172
            },
_ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4315
430
            [](float_reader<CharT>& r, auto&&... args) {
4316
430
                return r.read_source(SCN_FWD(args)...);
4317
430
            },
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Unexecuted instantiation: _ZZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
4318
1.24k
            value);
4319
1.29k
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
4297
356
    {
4298
356
        float_reader<CharT> rd{get_options(specs)};
4299
4300
356
#if !SCN_DISABLE_LOCALE
4301
356
        if (specs.localized) {
4302
12
            return read_impl<Range>(
4303
12
                range, rd,
4304
12
                [](float_reader<CharT>& r, auto&&... args) {
4305
12
                    return r.read_source_localized(SCN_FWD(args)...);
4306
12
                },
4307
12
                value, loc);
4308
12
        }
4309
#else
4310
        SCN_UNUSED(loc);
4311
#endif
4312
4313
344
        return read_impl<Range>(
4314
344
            range, rd,
4315
344
            [](float_reader<CharT>& r, auto&&... args) {
4316
344
                return r.read_source(SCN_FWD(args)...);
4317
344
            },
4318
344
            value);
4319
356
    }
_ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4297
300
    {
4298
300
        float_reader<CharT> rd{get_options(specs)};
4299
4300
300
#if !SCN_DISABLE_LOCALE
4301
300
        if (specs.localized) {
4302
6
            return read_impl<Range>(
4303
6
                range, rd,
4304
6
                [](float_reader<CharT>& r, auto&&... args) {
4305
6
                    return r.read_source_localized(SCN_FWD(args)...);
4306
6
                },
4307
6
                value, loc);
4308
6
        }
4309
#else
4310
        SCN_UNUSED(loc);
4311
#endif
4312
4313
294
        return read_impl<Range>(
4314
294
            range, rd,
4315
294
            [](float_reader<CharT>& r, auto&&... args) {
4316
294
                return r.read_source(SCN_FWD(args)...);
4317
294
            },
4318
294
            value);
4319
300
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
4297
188
    {
4298
188
        float_reader<CharT> rd{get_options(specs)};
4299
4300
188
#if !SCN_DISABLE_LOCALE
4301
188
        if (specs.localized) {
4302
16
            return read_impl<Range>(
4303
16
                range, rd,
4304
16
                [](float_reader<CharT>& r, auto&&... args) {
4305
16
                    return r.read_source_localized(SCN_FWD(args)...);
4306
16
                },
4307
16
                value, loc);
4308
16
        }
4309
#else
4310
        SCN_UNUSED(loc);
4311
#endif
4312
4313
172
        return read_impl<Range>(
4314
172
            range, rd,
4315
172
            [](float_reader<CharT>& r, auto&&... args) {
4316
172
                return r.read_source(SCN_FWD(args)...);
4317
172
            },
4318
172
            value);
4319
188
    }
_ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4297
446
    {
4298
446
        float_reader<CharT> rd{get_options(specs)};
4299
4300
446
#if !SCN_DISABLE_LOCALE
4301
446
        if (specs.localized) {
4302
16
            return read_impl<Range>(
4303
16
                range, rd,
4304
16
                [](float_reader<CharT>& r, auto&&... args) {
4305
16
                    return r.read_source_localized(SCN_FWD(args)...);
4306
16
                },
4307
16
                value, loc);
4308
16
        }
4309
#else
4310
        SCN_UNUSED(loc);
4311
#endif
4312
4313
430
        return read_impl<Range>(
4314
430
            range, rd,
4315
430
            [](float_reader<CharT>& r, auto&&... args) {
4316
430
                return r.read_source(SCN_FWD(args)...);
4317
430
            },
4318
430
            value);
4319
446
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
4320
4321
private:
4322
    template <typename Range>
4323
    using read_source_callback_type =
4324
        scan_expected<ranges::const_iterator_t<Range>>(float_reader<CharT>&,
4325
                                                       Range,
4326
                                                       detail::locale_ref);
4327
4328
    template <typename Range, typename T>
4329
    scan_expected<ranges::const_iterator_t<Range>> read_impl(
4330
        Range range,
4331
        float_reader<CharT>& rd,
4332
        function_ref<read_source_callback_type<Range>> read_source_cb,
4333
        T& value,
4334
        detail::locale_ref loc = {})
4335
2.42k
    {
4336
2.42k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4337
2.42k
            SCN_UNLIKELY(!r)) {
4338
564
            return unexpected(r.error());
4339
564
        }
4340
4341
1.86k
        SCN_TRY(n, rd.parse_value(value));
4342
92
        return ranges::next(range.begin(), n);
4343
1.86k
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIcEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIcEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIcEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIcEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIcEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIcEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
_ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIcEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4335
356
    {
4336
356
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4337
356
            SCN_UNLIKELY(!r)) {
4338
356
            return unexpected(r.error());
4339
356
        }
4340
4341
0
        SCN_TRY(n, rd.parse_value(value));
4342
0
        return ranges::next(range.begin(), n);
4343
0
    }
_ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIcEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4335
944
    {
4336
944
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4337
944
            SCN_UNLIKELY(!r)) {
4338
22
            return unexpected(r.error());
4339
22
        }
4340
4341
922
        SCN_TRY(n, rd.parse_value(value));
4342
0
        return ranges::next(range.begin(), n);
4343
922
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIcEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIcEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIcEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIcEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIwEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIwEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIwEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIwEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIwEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIwEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
_ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIwEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4335
188
    {
4336
188
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4337
188
            SCN_UNLIKELY(!r)) {
4338
168
            return unexpected(r.error());
4339
168
        }
4340
4341
20
        SCN_TRY(n, rd.parse_value(value));
4342
20
        return ranges::next(range.begin(), n);
4343
20
    }
_ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIwEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4335
936
    {
4336
936
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4337
936
            SCN_UNLIKELY(!r)) {
4338
18
            return unexpected(r.error());
4339
18
        }
4340
4341
918
        SCN_TRY(n, rd.parse_value(value));
4342
72
        return ranges::next(range.begin(), n);
4343
918
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIwEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIwEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIwEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIwEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
4344
4345
    static unsigned get_options(const detail::format_specs& specs)
4346
1.29k
    {
4347
1.29k
        unsigned options{};
4348
1.29k
        if (specs.localized) {
4349
50
            options |= float_reader_base::allow_thsep;
4350
50
        }
4351
4352
1.29k
        SCN_GCC_COMPAT_PUSH
4353
1.29k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
4354
4355
1.29k
        switch (specs.type) {
4356
48
            case detail::presentation_type::float_fixed:
4357
48
                return options | float_reader_base::allow_fixed;
4358
4359
24
            case detail::presentation_type::float_scientific:
4360
24
                return options | float_reader_base::allow_scientific;
4361
4362
86
            case detail::presentation_type::float_hex:
4363
86
                return options | float_reader_base::allow_hex;
4364
4365
14
            case detail::presentation_type::float_general:
4366
14
                return options | float_reader_base::allow_scientific |
4367
14
                       float_reader_base::allow_fixed;
4368
4369
1.11k
            case detail::presentation_type::none:
4370
1.11k
                return options | float_reader_base::allow_scientific |
4371
1.11k
                       float_reader_base::allow_fixed |
4372
1.11k
                       float_reader_base::allow_hex;
4373
4374
0
            default:
4375
0
                SCN_EXPECT(false);
4376
1.29k
                SCN_UNREACHABLE;
4377
1.29k
        }
4378
4379
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
4380
1.29k
    }
scn::v4::impl::reader_impl_for_float<char>::get_options(scn::v4::detail::format_specs const&)
Line
Count
Source
4346
656
    {
4347
656
        unsigned options{};
4348
656
        if (specs.localized) {
4349
18
            options |= float_reader_base::allow_thsep;
4350
18
        }
4351
4352
656
        SCN_GCC_COMPAT_PUSH
4353
656
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
4354
4355
656
        switch (specs.type) {
4356
28
            case detail::presentation_type::float_fixed:
4357
28
                return options | float_reader_base::allow_fixed;
4358
4359
14
            case detail::presentation_type::float_scientific:
4360
14
                return options | float_reader_base::allow_scientific;
4361
4362
16
            case detail::presentation_type::float_hex:
4363
16
                return options | float_reader_base::allow_hex;
4364
4365
12
            case detail::presentation_type::float_general:
4366
12
                return options | float_reader_base::allow_scientific |
4367
12
                       float_reader_base::allow_fixed;
4368
4369
586
            case detail::presentation_type::none:
4370
586
                return options | float_reader_base::allow_scientific |
4371
586
                       float_reader_base::allow_fixed |
4372
586
                       float_reader_base::allow_hex;
4373
4374
0
            default:
4375
0
                SCN_EXPECT(false);
4376
656
                SCN_UNREACHABLE;
4377
656
        }
4378
4379
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
4380
656
    }
scn::v4::impl::reader_impl_for_float<wchar_t>::get_options(scn::v4::detail::format_specs const&)
Line
Count
Source
4346
634
    {
4347
634
        unsigned options{};
4348
634
        if (specs.localized) {
4349
32
            options |= float_reader_base::allow_thsep;
4350
32
        }
4351
4352
634
        SCN_GCC_COMPAT_PUSH
4353
634
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
4354
4355
634
        switch (specs.type) {
4356
20
            case detail::presentation_type::float_fixed:
4357
20
                return options | float_reader_base::allow_fixed;
4358
4359
10
            case detail::presentation_type::float_scientific:
4360
10
                return options | float_reader_base::allow_scientific;
4361
4362
70
            case detail::presentation_type::float_hex:
4363
70
                return options | float_reader_base::allow_hex;
4364
4365
2
            case detail::presentation_type::float_general:
4366
2
                return options | float_reader_base::allow_scientific |
4367
2
                       float_reader_base::allow_fixed;
4368
4369
532
            case detail::presentation_type::none:
4370
532
                return options | float_reader_base::allow_scientific |
4371
532
                       float_reader_base::allow_fixed |
4372
532
                       float_reader_base::allow_hex;
4373
4374
0
            default:
4375
0
                SCN_EXPECT(false);
4376
634
                SCN_UNREACHABLE;
4377
634
        }
4378
4379
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
4380
634
    }
4381
};
4382
4383
/////////////////////////////////////////////////////////////////
4384
// Regex reader
4385
/////////////////////////////////////////////////////////////////
4386
4387
#if !SCN_DISABLE_REGEX
4388
4389
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4390
constexpr auto make_regex_flags(detail::regex_flags flags)
4391
    -> scan_expected<std::regex_constants::syntax_option_type>
4392
{
4393
    std::regex_constants::syntax_option_type result{};
4394
    if ((flags & detail::regex_flags::multiline) != detail::regex_flags::none) {
4395
#if SCN_HAS_STD_REGEX_MULTILINE
4396
        result |= std::regex_constants::multiline;
4397
#else
4398
        return detail::unexpected_scan_error(
4399
            scan_error::invalid_format_string,
4400
            "/m flag for regex isn't supported by regex backend");
4401
#endif
4402
    }
4403
    if ((flags & detail::regex_flags::singleline) !=
4404
        detail::regex_flags::none) {
4405
        return detail::unexpected_scan_error(
4406
            scan_error::invalid_format_string,
4407
            "/s flag for regex isn't supported by regex backend");
4408
    }
4409
    if ((flags & detail::regex_flags::nocase) != detail::regex_flags::none) {
4410
        result |= std::regex_constants::icase;
4411
    }
4412
    if ((flags & detail::regex_flags::nocapture) != detail::regex_flags::none) {
4413
        result |= std::regex_constants::nosubs;
4414
    }
4415
    return result;
4416
}
4417
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4418
constexpr auto make_regex_flags(detail::regex_flags flags)
4419
    -> boost::regex_constants::syntax_option_type
4420
{
4421
    boost::regex_constants::syntax_option_type result{};
4422
    if ((flags & detail::regex_flags::multiline) == detail::regex_flags::none) {
4423
        result |= boost::regex_constants::no_mod_m;
4424
    }
4425
    if ((flags & detail::regex_flags::singleline) !=
4426
        detail::regex_flags::none) {
4427
        result |= boost::regex_constants::mod_s;
4428
    }
4429
    if ((flags & detail::regex_flags::nocase) != detail::regex_flags::none) {
4430
        result |= boost::regex_constants::icase;
4431
    }
4432
    if ((flags & detail::regex_flags::nocapture) != detail::regex_flags::none) {
4433
        result |= boost::regex_constants::nosubs;
4434
    }
4435
    return result;
4436
}
4437
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4438
inline auto make_regex_flags(detail::regex_flags flags)
4439
    -> std::pair<RE2::Options, std::string_view>
4440
396
{
4441
396
    RE2::Options opt{RE2::Quiet};
4442
396
    std::string_view stringflags{};
4443
4444
396
    if ((flags & detail::regex_flags::multiline) == detail::regex_flags::none) {
4445
384
        stringflags = "(?m)";
4446
384
    }
4447
396
    if ((flags & detail::regex_flags::singleline) !=
4448
396
        detail::regex_flags::none) {
4449
6
        opt.set_dot_nl(true);
4450
6
    }
4451
396
    if ((flags & detail::regex_flags::nocase) != detail::regex_flags::none) {
4452
6
        opt.set_case_sensitive(false);
4453
6
    }
4454
396
    if ((flags & detail::regex_flags::nocapture) != detail::regex_flags::none) {
4455
6
        opt.set_never_capture(true);
4456
6
    }
4457
4458
396
    return {opt, stringflags};
4459
396
}
4460
#endif  // SCN_REGEX_BACKEND == ...
4461
4462
template <typename CharT, typename Input>
4463
auto read_regex_string_impl(std::basic_string_view<CharT> pattern,
4464
                            detail::regex_flags flags,
4465
                            Input input)
4466
    -> scan_expected<ranges::iterator_t<Input>>
4467
396
{
4468
396
    static_assert(ranges::contiguous_range<Input> &&
4469
396
                  ranges::borrowed_range<Input> &&
4470
396
                  std::is_same_v<ranges::range_value_t<Input>, CharT>);
4471
4472
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4473
    std::basic_regex<CharT> re{};
4474
    try {
4475
        SCN_TRY(re_flags, make_regex_flags(flags));
4476
        re = std::basic_regex<CharT>{pattern.data(), pattern.size(),
4477
                                     re_flags | std::regex_constants::nosubs};
4478
    }
4479
    catch (const std::regex_error&) {
4480
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4481
                                             "Invalid regex");
4482
    }
4483
4484
    std::match_results<const CharT*> matches{};
4485
    try {
4486
        bool found = std::regex_search(input.data(),
4487
                                       input.data() + input.size(), matches, re,
4488
                                       std::regex_constants::match_continuous);
4489
        if (!found || matches.prefix().matched) {
4490
            return detail::unexpected_scan_error(
4491
                scan_error::invalid_scanned_value,
4492
                "Regular expression didn't match");
4493
        }
4494
    }
4495
    catch (const std::regex_error&) {
4496
        return detail::unexpected_scan_error(
4497
            scan_error::invalid_format_string,
4498
            "Regex matching failed with an error");
4499
    }
4500
4501
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4502
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4503
    auto re =
4504
#if SCN_REGEX_BOOST_USE_ICU
4505
        boost::make_u32regex(pattern.data(), pattern.data() + pattern.size(),
4506
                             make_regex_flags(flags) |
4507
                                 boost::regex_constants::no_except |
4508
                                 boost::regex_constants::nosubs);
4509
#else
4510
        boost::basic_regex<CharT>{pattern.data(), pattern.size(),
4511
                                  make_regex_flags(flags) |
4512
                                      boost::regex_constants::no_except |
4513
                                      boost::regex_constants::nosubs};
4514
#endif
4515
    if (re.status() != 0) {
4516
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4517
                                             "Invalid regex");
4518
    }
4519
4520
    boost::match_results<const CharT*> matches{};
4521
    try {
4522
        bool found =
4523
#if SCN_REGEX_BOOST_USE_ICU
4524
            boost::u32regex_search(input.data(), input.data() + input.size(),
4525
                                   matches, re,
4526
                                   boost::regex_constants::match_continuous);
4527
#else
4528
            boost::regex_search(input.data(), input.data() + input.size(),
4529
                                matches, re,
4530
                                boost::regex_constants::match_continuous);
4531
#endif
4532
        if (!found || matches.prefix().matched) {
4533
            return detail::unexpected_scan_error(
4534
                scan_error::invalid_scanned_value,
4535
                "Regular expression didn't match");
4536
        }
4537
    }
4538
    catch (const std::runtime_error&) {
4539
        return detail::unexpected_scan_error(
4540
            scan_error::invalid_format_string,
4541
            "Regex matching failed with an error");
4542
    }
4543
4544
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4545
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4546
    static_assert(std::is_same_v<CharT, char>);
4547
396
    std::string flagged_pattern{};
4548
396
    auto re = [&]() {
4549
396
        auto [opts, flagstr] = make_regex_flags(flags);
4550
396
        opts.set_never_capture(true);
4551
396
        if (flagstr.empty()) {
4552
12
            return re2::RE2{pattern, opts};
4553
12
        }
4554
384
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4555
384
        flagged_pattern.append(flagstr);
4556
384
        flagged_pattern.append(pattern);
4557
384
        return re2::RE2{flagged_pattern, opts};
4558
396
    }();
Unexecuted instantiation: _ZZN3scn2v44impl22read_regex_string_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_ENKUlvE_clEv
_ZZN3scn2v44impl22read_regex_string_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_ENKUlvE_clEv
Line
Count
Source
4548
396
    auto re = [&]() {
4549
396
        auto [opts, flagstr] = make_regex_flags(flags);
4550
396
        opts.set_never_capture(true);
4551
396
        if (flagstr.empty()) {
4552
12
            return re2::RE2{pattern, opts};
4553
12
        }
4554
384
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4555
384
        flagged_pattern.append(flagstr);
4556
384
        flagged_pattern.append(pattern);
4557
384
        return re2::RE2{flagged_pattern, opts};
4558
396
    }();
4559
396
    if (!re.ok()) {
4560
144
        return detail::unexpected_scan_error(
4561
144
            scan_error::invalid_format_string,
4562
144
            "Failed to parse regular expression");
4563
144
    }
4564
4565
252
    auto new_input = detail::make_string_view_from_pointers(
4566
252
        detail::to_address(input.begin()), detail::to_address(input.end()));
4567
252
    bool found = re2::RE2::Consume(&new_input, re);
4568
252
    if (!found) {
4569
162
        return detail::unexpected_scan_error(scan_error::invalid_scanned_value,
4570
162
                                             "Regular expression didn't match");
4571
162
    }
4572
90
    return input.begin() + ranges::distance(input.data(), new_input.data());
4573
252
#endif  // SCN_REGEX_BACKEND == ...
4574
252
}
Unexecuted instantiation: _ZN3scn2v44impl22read_regex_string_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_
_ZN3scn2v44impl22read_regex_string_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_
Line
Count
Source
4467
396
{
4468
396
    static_assert(ranges::contiguous_range<Input> &&
4469
396
                  ranges::borrowed_range<Input> &&
4470
396
                  std::is_same_v<ranges::range_value_t<Input>, CharT>);
4471
4472
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4473
    std::basic_regex<CharT> re{};
4474
    try {
4475
        SCN_TRY(re_flags, make_regex_flags(flags));
4476
        re = std::basic_regex<CharT>{pattern.data(), pattern.size(),
4477
                                     re_flags | std::regex_constants::nosubs};
4478
    }
4479
    catch (const std::regex_error&) {
4480
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4481
                                             "Invalid regex");
4482
    }
4483
4484
    std::match_results<const CharT*> matches{};
4485
    try {
4486
        bool found = std::regex_search(input.data(),
4487
                                       input.data() + input.size(), matches, re,
4488
                                       std::regex_constants::match_continuous);
4489
        if (!found || matches.prefix().matched) {
4490
            return detail::unexpected_scan_error(
4491
                scan_error::invalid_scanned_value,
4492
                "Regular expression didn't match");
4493
        }
4494
    }
4495
    catch (const std::regex_error&) {
4496
        return detail::unexpected_scan_error(
4497
            scan_error::invalid_format_string,
4498
            "Regex matching failed with an error");
4499
    }
4500
4501
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4502
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4503
    auto re =
4504
#if SCN_REGEX_BOOST_USE_ICU
4505
        boost::make_u32regex(pattern.data(), pattern.data() + pattern.size(),
4506
                             make_regex_flags(flags) |
4507
                                 boost::regex_constants::no_except |
4508
                                 boost::regex_constants::nosubs);
4509
#else
4510
        boost::basic_regex<CharT>{pattern.data(), pattern.size(),
4511
                                  make_regex_flags(flags) |
4512
                                      boost::regex_constants::no_except |
4513
                                      boost::regex_constants::nosubs};
4514
#endif
4515
    if (re.status() != 0) {
4516
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4517
                                             "Invalid regex");
4518
    }
4519
4520
    boost::match_results<const CharT*> matches{};
4521
    try {
4522
        bool found =
4523
#if SCN_REGEX_BOOST_USE_ICU
4524
            boost::u32regex_search(input.data(), input.data() + input.size(),
4525
                                   matches, re,
4526
                                   boost::regex_constants::match_continuous);
4527
#else
4528
            boost::regex_search(input.data(), input.data() + input.size(),
4529
                                matches, re,
4530
                                boost::regex_constants::match_continuous);
4531
#endif
4532
        if (!found || matches.prefix().matched) {
4533
            return detail::unexpected_scan_error(
4534
                scan_error::invalid_scanned_value,
4535
                "Regular expression didn't match");
4536
        }
4537
    }
4538
    catch (const std::runtime_error&) {
4539
        return detail::unexpected_scan_error(
4540
            scan_error::invalid_format_string,
4541
            "Regex matching failed with an error");
4542
    }
4543
4544
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4545
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4546
    static_assert(std::is_same_v<CharT, char>);
4547
396
    std::string flagged_pattern{};
4548
396
    auto re = [&]() {
4549
396
        auto [opts, flagstr] = make_regex_flags(flags);
4550
396
        opts.set_never_capture(true);
4551
396
        if (flagstr.empty()) {
4552
396
            return re2::RE2{pattern, opts};
4553
396
        }
4554
396
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4555
396
        flagged_pattern.append(flagstr);
4556
396
        flagged_pattern.append(pattern);
4557
396
        return re2::RE2{flagged_pattern, opts};
4558
396
    }();
4559
396
    if (!re.ok()) {
4560
144
        return detail::unexpected_scan_error(
4561
144
            scan_error::invalid_format_string,
4562
144
            "Failed to parse regular expression");
4563
144
    }
4564
4565
252
    auto new_input = detail::make_string_view_from_pointers(
4566
252
        detail::to_address(input.begin()), detail::to_address(input.end()));
4567
252
    bool found = re2::RE2::Consume(&new_input, re);
4568
252
    if (!found) {
4569
162
        return detail::unexpected_scan_error(scan_error::invalid_scanned_value,
4570
162
                                             "Regular expression didn't match");
4571
162
    }
4572
90
    return input.begin() + ranges::distance(input.data(), new_input.data());
4573
252
#endif  // SCN_REGEX_BACKEND == ...
4574
252
}
4575
4576
template <typename CharT, typename Input>
4577
auto read_regex_matches_impl(std::basic_string_view<CharT> pattern,
4578
                             detail::regex_flags flags,
4579
                             Input input,
4580
                             basic_regex_matches<CharT>& value)
4581
    -> scan_expected<ranges::iterator_t<Input>>
4582
0
{
4583
0
    static_assert(ranges::contiguous_range<Input> &&
4584
0
                  ranges::borrowed_range<Input> &&
4585
0
                  std::is_same_v<ranges::range_value_t<Input>, CharT>);
4586
4587
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4588
    std::basic_regex<CharT> re{};
4589
    try {
4590
        SCN_TRY(re_flags, make_regex_flags(flags));
4591
        re = std::basic_regex<CharT>{pattern.data(), pattern.size(), re_flags};
4592
    }
4593
    catch (const std::regex_error&) {
4594
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4595
                                             "Invalid regex");
4596
    }
4597
4598
    std::match_results<const CharT*> matches{};
4599
    try {
4600
        bool found = std::regex_search(input.data(),
4601
                                       input.data() + input.size(), matches, re,
4602
                                       std::regex_constants::match_continuous);
4603
        if (!found || matches.prefix().matched) {
4604
            return detail::unexpected_scan_error(
4605
                scan_error::invalid_scanned_value,
4606
                "Regular expression didn't match");
4607
        }
4608
    }
4609
    catch (const std::regex_error&) {
4610
        return detail::unexpected_scan_error(
4611
            scan_error::invalid_format_string,
4612
            "Regex matching failed with an error");
4613
    }
4614
4615
    value.resize(matches.size());
4616
    std::transform(matches.begin(), matches.end(), value.begin(),
4617
                   [](auto&& match) -> std::optional<basic_regex_match<CharT>> {
4618
                       if (!match.matched)
4619
                           return std::nullopt;
4620
                       return detail::make_string_view_from_pointers(
4621
                           match.first, match.second);
4622
                   });
4623
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4624
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4625
    std::vector<std::basic_string<CharT>> names;
4626
    for (size_t i = 0; i < pattern.size();) {
4627
        if constexpr (std::is_same_v<CharT, char>) {
4628
            i = pattern.find("(?<", i);
4629
        }
4630
        else {
4631
            i = pattern.find(L"(?<", i);
4632
        }
4633
4634
        if (i == std::basic_string_view<CharT>::npos) {
4635
            break;
4636
        }
4637
        if (i > 0 && pattern[i - 1] == CharT{'\\'}) {
4638
            if (i == 1 || pattern[i - 2] != CharT{'\\'}) {
4639
                i += 3;
4640
                continue;
4641
            }
4642
        }
4643
4644
        i += 3;
4645
        auto end_i = pattern.find(CharT{'>'}, i);
4646
        if (end_i == std::basic_string_view<CharT>::npos) {
4647
            break;
4648
        }
4649
        names.emplace_back(pattern.substr(i, end_i - i));
4650
    }
4651
4652
    auto re =
4653
#if SCN_REGEX_BOOST_USE_ICU
4654
        boost::make_u32regex(
4655
            pattern.data(), pattern.data() + pattern.size(),
4656
            make_regex_flags(flags) | boost::regex_constants::no_except);
4657
#else
4658
        boost::basic_regex<CharT>{
4659
            pattern.data(), pattern.size(),
4660
            make_regex_flags(flags) | boost::regex_constants::no_except};
4661
#endif
4662
    if (re.status() != 0) {
4663
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4664
                                             "Invalid regex");
4665
    }
4666
4667
    boost::match_results<const CharT*> matches{};
4668
    try {
4669
        bool found =
4670
#if SCN_REGEX_BOOST_USE_ICU
4671
            boost::u32regex_search(input.data(), input.data() + input.size(),
4672
                                   matches, re,
4673
                                   boost::regex_constants::match_continuous);
4674
#else
4675
            boost::regex_search(input.data(), input.data() + input.size(),
4676
                                matches, re,
4677
                                boost::regex_constants::match_continuous);
4678
#endif
4679
        if (!found || matches.prefix().matched) {
4680
            return detail::unexpected_scan_error(
4681
                scan_error::invalid_scanned_value,
4682
                "Regular expression didn't match");
4683
        }
4684
    }
4685
    catch (const std::runtime_error&) {
4686
        return detail::unexpected_scan_error(
4687
            scan_error::invalid_format_string,
4688
            "Regex matching failed with an error");
4689
    }
4690
4691
    value.resize(matches.size());
4692
    std::transform(
4693
        matches.begin(), matches.end(), value.begin(),
4694
        [&](auto&& match) -> std::optional<basic_regex_match<CharT>> {
4695
            if (!match.matched)
4696
                return std::nullopt;
4697
            auto sv = detail::make_string_view_from_pointers(match.first,
4698
                                                             match.second);
4699
4700
            if (auto name_it = std::find_if(
4701
                    names.begin(), names.end(),
4702
                    [&](const auto& name) { return match == matches[name]; });
4703
                name_it != names.end()) {
4704
                return basic_regex_match<CharT>{sv, *name_it};
4705
            }
4706
            return sv;
4707
        });
4708
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4709
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4710
    static_assert(std::is_same_v<CharT, char>);
4711
0
    std::string flagged_pattern{};
4712
0
    auto re = [&]() {
4713
0
        auto [opts, flagstr] = make_regex_flags(flags);
4714
0
        if (flagstr.empty()) {
4715
0
            return re2::RE2{pattern, opts};
4716
0
        }
4717
0
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4718
0
        flagged_pattern.append(flagstr);
4719
0
        flagged_pattern.append(pattern);
4720
0
        return re2::RE2{flagged_pattern, opts};
4721
0
    }();
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EEENKUlvE_clEv
4722
0
    if (!re.ok()) {
4723
0
        return detail::unexpected_scan_error(
4724
0
            scan_error::invalid_format_string,
4725
0
            "Failed to parse regular expression");
4726
0
    }
4727
    // TODO: Optimize into a single batch allocation
4728
0
    const auto max_matches_n =
4729
0
        static_cast<size_t>(re.NumberOfCapturingGroups());
4730
0
    std::vector<std::optional<std::string_view>> matches(max_matches_n);
4731
0
    std::vector<re2::RE2::Arg> match_args(max_matches_n);
4732
0
    std::vector<re2::RE2::Arg*> match_argptrs(max_matches_n);
4733
0
    std::transform(matches.begin(), matches.end(), match_args.begin(),
4734
0
                   [](auto& val) { return re2::RE2::Arg{&val}; });
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EEENKUlRSE_E_clINS3_8optionalIS7_EEEEDaSM_
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EEENKUlRSH_E_clINSF_8optionalINSG_IcNSI_IcEEEEEEEEDaSQ_
4735
0
    std::transform(match_args.begin(), match_args.end(), match_argptrs.begin(),
4736
0
                   [](auto& arg) { return &arg; });
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EEENKUlRSE_E0_clIN3re23RE23ArgEEEDaSM_
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EEENKUlRSH_E0_clIN3re23RE23ArgEEEDaSQ_
4737
0
    auto new_input = detail::make_string_view_from_pointers(
4738
0
        detail::to_address(input.begin()), detail::to_address(input.end()));
4739
0
    bool found = re2::RE2::ConsumeN(&new_input, re, match_argptrs.data(),
4740
0
                                    match_argptrs.size());
4741
0
    if (!found) {
4742
0
        return detail::unexpected_scan_error(scan_error::invalid_scanned_value,
4743
0
                                             "Regular expression didn't match");
4744
0
    }
4745
0
    value.resize(matches.size() + 1);
4746
0
    value[0] =
4747
0
        detail::make_string_view_from_pointers(input.data(), new_input.data());
4748
0
    std::transform(matches.begin(), matches.end(), value.begin() + 1,
4749
0
                   [&](auto&& match) -> std::optional<regex_match> {
4750
0
                       if (!match)
4751
0
                           return std::nullopt;
4752
0
                       return *match;
4753
0
                   });
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EEENKUlOSE_E_clIRNS3_8optionalIS7_EEEENSP_INS0_17basic_regex_matchIcEEEESM_
Unexecuted instantiation: _ZZN3scn2v44impl23read_regex_matches_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EEENKUlOSH_E_clIRNSF_8optionalINSG_IcNSI_IcEEEEEEEENST_INS0_17basic_regex_matchIcEEEESQ_
4754
0
    {
4755
0
        const auto& capturing_groups = re.CapturingGroupNames();
4756
0
        for (size_t i = 1; i < value.size(); ++i) {
4757
0
            if (auto it = capturing_groups.find(static_cast<int>(i));
4758
0
                it != capturing_groups.end()) {
4759
0
                auto val = value[i]->get();
4760
0
                value[i].emplace(val, it->second);
4761
0
            };
4762
0
        }
4763
0
    }
4764
0
    return input.begin() + ranges::distance(input.data(), new_input.data());
4765
0
#endif  // SCN_REGEX_BACKEND == ...
4766
0
}
Unexecuted instantiation: _ZN3scn2v44impl23read_regex_matches_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EE
Unexecuted instantiation: _ZN3scn2v44impl23read_regex_matches_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EE
4767
4768
inline std::string get_unescaped_regex_pattern(std::string_view pattern)
4769
456
{
4770
456
    std::string result{pattern};
4771
4.42k
    for (size_t n = 0; (n = result.find("\\/", n)) != std::string::npos;) {
4772
3.97k
        result.replace(n, 2, "/");
4773
3.97k
        ++n;
4774
3.97k
    }
4775
456
    return result;
4776
456
}
4777
inline std::wstring get_unescaped_regex_pattern(std::wstring_view pattern)
4778
0
{
4779
0
    std::wstring result{pattern};
4780
0
    for (size_t n = 0; (n = result.find(L"\\/", n)) != std::wstring::npos;) {
4781
0
        result.replace(n, 2, L"/");
4782
0
        ++n;
4783
0
    }
4784
0
    return result;
4785
0
}
4786
4787
template <typename SourceCharT>
4788
struct regex_matches_reader
4789
    : public reader_base<regex_matches_reader<SourceCharT>, SourceCharT> {
4790
    void check_specs_impl(const detail::format_specs& specs,
4791
                          reader_error_handler& eh)
4792
0
    {
4793
0
        detail::check_regex_type_specs(specs, eh);
4794
0
        SCN_EXPECT(specs.charset_string_data != nullptr);
4795
0
        SCN_EXPECT(specs.charset_string_size > 0);
4796
0
    }
Unexecuted instantiation: scn::v4::impl::regex_matches_reader<char>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Unexecuted instantiation: scn::v4::impl::regex_matches_reader<wchar_t>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
4797
4798
    template <typename Range, typename DestCharT>
4799
    auto read_default(Range,
4800
                      basic_regex_matches<DestCharT>&,
4801
                      detail::locale_ref = {})
4802
        -> scan_expected<ranges::const_iterator_t<Range>>
4803
    {
4804
        return detail::unexpected_scan_error(
4805
            scan_error::invalid_format_string,
4806
            "No regex given in format string for scanning regex_matches");
4807
    }
4808
4809
    template <typename Range, typename DestCharT>
4810
    auto read_specs(Range range,
4811
                    const detail::format_specs& specs,
4812
                    basic_regex_matches<DestCharT>& value,
4813
                    detail::locale_ref = {})
4814
        -> scan_expected<ranges::const_iterator_t<Range>>
4815
0
    {
4816
0
        SCN_UNUSED(range);
4817
0
        if constexpr (!std::is_same_v<SourceCharT, DestCharT>) {
4818
0
            return detail::unexpected_scan_error(
4819
0
                scan_error::invalid_format_string,
4820
0
                "Cannot transcode is regex_matches_reader");
4821
        }
4822
        else if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
4823
0
                           !std::is_same_v<SourceCharT, char>) {
4824
0
            return detail::unexpected_scan_error(
4825
0
                scan_error::invalid_format_string,
4826
0
                "Regex backend doesn't support wide strings as input");
4827
        }
4828
0
        else {
4829
0
            if (!is_entire_source_contiguous(range)) {
4830
0
                return detail::unexpected_scan_error(
4831
0
                    scan_error::invalid_format_string,
4832
0
                    "Cannot use regex with a non-contiguous source "
4833
0
                    "range");
4834
0
            }
4835
4836
0
            auto input = get_as_contiguous(range);
4837
0
            SCN_TRY(it,
4838
0
                    impl(input,
4839
0
                         specs.type == detail::presentation_type::regex_escaped,
4840
0
                         specs.charset_string<SourceCharT>(),
4841
0
                         specs.regexp_flags, value));
4842
0
            return ranges::next(range.begin(),
4843
0
                                ranges::distance(input.begin(), it));
4844
0
        }
4845
0
    }
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
4846
4847
private:
4848
    template <typename Range, typename DestCharT>
4849
    auto impl(Range input,
4850
              bool is_escaped,
4851
              std::basic_string_view<SourceCharT> pattern,
4852
              detail::regex_flags flags,
4853
              basic_regex_matches<DestCharT>& value)
4854
0
    {
4855
        if constexpr (detail::is_type_disabled<
4856
                          basic_regex_matches<DestCharT>>) {
4857
            SCN_EXPECT(false);
4858
            SCN_UNREACHABLE;
4859
        }
4860
0
        else {
4861
0
            if (is_escaped) {
4862
0
                return read_regex_matches_impl<SourceCharT>(
4863
0
                    get_unescaped_regex_pattern(pattern), flags, input, value);
4864
0
            }
4865
0
            return read_regex_matches_impl(pattern, flags, input, value);
4866
0
        }
4867
0
    }
Unexecuted instantiation: auto scn::v4::impl::regex_matches_reader<char>::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::detail::regex_flags, scn::v4::basic_regex_matches<char>&)
Unexecuted instantiation: auto scn::v4::impl::regex_matches_reader<char>::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, bool, std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::detail::regex_flags, scn::v4::basic_regex_matches<char>&)
4868
};
4869
4870
template <typename CharT>
4871
struct reader_impl_for_regex_matches : public regex_matches_reader<CharT> {};
4872
4873
#endif  // !SCN_DISABLE_REGEX
4874
4875
/////////////////////////////////////////////////////////////////
4876
// String reader
4877
/////////////////////////////////////////////////////////////////
4878
4879
template <typename Range, typename Iterator, typename ValueCharT>
4880
auto read_string_impl(Range range,
4881
                      Iterator&& result,
4882
                      std::basic_string<ValueCharT>& value)
4883
    -> scan_expected<ranges::const_iterator_t<Range>>
4884
7.47k
{
4885
7.47k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
7.47k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
7.47k
    if (!validate_unicode(src.view())) {
4889
1.92k
        return detail::unexpected_scan_error(
4890
1.92k
            scan_error::invalid_scanned_value,
4891
1.92k
            "Invalid encoding in scanned string");
4892
1.92k
    }
4893
4894
5.55k
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
5.55k
    return SCN_MOVE(result);
4896
5.55k
}
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4884
476
{
4885
476
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
476
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
476
    if (!validate_unicode(src.view())) {
4889
170
        return detail::unexpected_scan_error(
4890
170
            scan_error::invalid_scanned_value,
4891
170
            "Invalid encoding in scanned string");
4892
170
    }
4893
4894
306
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
306
    return SCN_MOVE(result);
4896
306
}
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
Line
Count
Source
4884
268
{
4885
268
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
268
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
268
    if (!validate_unicode(src.view())) {
4889
92
        return detail::unexpected_scan_error(
4890
92
            scan_error::invalid_scanned_value,
4891
92
            "Invalid encoding in scanned string");
4892
92
    }
4893
4894
176
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
176
    return SCN_MOVE(result);
4896
176
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4884
1.03k
{
4885
1.03k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
1.03k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
1.03k
    if (!validate_unicode(src.view())) {
4889
336
        return detail::unexpected_scan_error(
4890
336
            scan_error::invalid_scanned_value,
4891
336
            "Invalid encoding in scanned string");
4892
336
    }
4893
4894
702
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
702
    return SCN_MOVE(result);
4896
702
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4884
494
{
4885
494
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
494
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
494
    if (!validate_unicode(src.view())) {
4889
52
        return detail::unexpected_scan_error(
4890
52
            scan_error::invalid_scanned_value,
4891
52
            "Invalid encoding in scanned string");
4892
52
    }
4893
4894
442
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
442
    return SCN_MOVE(result);
4896
442
}
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4884
476
{
4885
476
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
476
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
476
    if (!validate_unicode(src.view())) {
4889
170
        return detail::unexpected_scan_error(
4890
170
            scan_error::invalid_scanned_value,
4891
170
            "Invalid encoding in scanned string");
4892
170
    }
4893
4894
306
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
306
    return SCN_MOVE(result);
4896
306
}
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
Line
Count
Source
4884
268
{
4885
268
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
268
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
268
    if (!validate_unicode(src.view())) {
4889
92
        return detail::unexpected_scan_error(
4890
92
            scan_error::invalid_scanned_value,
4891
92
            "Invalid encoding in scanned string");
4892
92
    }
4893
4894
176
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
176
    return SCN_MOVE(result);
4896
176
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4884
1.03k
{
4885
1.03k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
1.03k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
1.03k
    if (!validate_unicode(src.view())) {
4889
336
        return detail::unexpected_scan_error(
4890
336
            scan_error::invalid_scanned_value,
4891
336
            "Invalid encoding in scanned string");
4892
336
    }
4893
4894
702
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
702
    return SCN_MOVE(result);
4896
702
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4884
494
{
4885
494
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
494
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
494
    if (!validate_unicode(src.view())) {
4889
52
        return detail::unexpected_scan_error(
4890
52
            scan_error::invalid_scanned_value,
4891
52
            "Invalid encoding in scanned string");
4892
52
    }
4893
4894
442
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
442
    return SCN_MOVE(result);
4896
442
}
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4884
204
{
4885
204
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
204
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
204
    if (!validate_unicode(src.view())) {
4889
62
        return detail::unexpected_scan_error(
4890
62
            scan_error::invalid_scanned_value,
4891
62
            "Invalid encoding in scanned string");
4892
62
    }
4893
4894
142
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
142
    return SCN_MOVE(result);
4896
142
}
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
Line
Count
Source
4884
172
{
4885
172
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
172
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
172
    if (!validate_unicode(src.view())) {
4889
4
        return detail::unexpected_scan_error(
4890
4
            scan_error::invalid_scanned_value,
4891
4
            "Invalid encoding in scanned string");
4892
4
    }
4893
4894
168
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
168
    return SCN_MOVE(result);
4896
168
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4884
904
{
4885
904
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
904
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
904
    if (!validate_unicode(src.view())) {
4889
238
        return detail::unexpected_scan_error(
4890
238
            scan_error::invalid_scanned_value,
4891
238
            "Invalid encoding in scanned string");
4892
238
    }
4893
4894
666
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
666
    return SCN_MOVE(result);
4896
666
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4884
180
{
4885
180
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
180
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
180
    if (!validate_unicode(src.view())) {
4889
6
        return detail::unexpected_scan_error(
4890
6
            scan_error::invalid_scanned_value,
4891
6
            "Invalid encoding in scanned string");
4892
6
    }
4893
4894
174
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
174
    return SCN_MOVE(result);
4896
174
}
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4884
204
{
4885
204
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
204
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
204
    if (!validate_unicode(src.view())) {
4889
62
        return detail::unexpected_scan_error(
4890
62
            scan_error::invalid_scanned_value,
4891
62
            "Invalid encoding in scanned string");
4892
62
    }
4893
4894
142
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
142
    return SCN_MOVE(result);
4896
142
}
_ZN3scn2v44impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
Line
Count
Source
4884
172
{
4885
172
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
172
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
172
    if (!validate_unicode(src.view())) {
4889
4
        return detail::unexpected_scan_error(
4890
4
            scan_error::invalid_scanned_value,
4891
4
            "Invalid encoding in scanned string");
4892
4
    }
4893
4894
168
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
168
    return SCN_MOVE(result);
4896
168
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4884
904
{
4885
904
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
904
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
904
    if (!validate_unicode(src.view())) {
4889
238
        return detail::unexpected_scan_error(
4890
238
            scan_error::invalid_scanned_value,
4891
238
            "Invalid encoding in scanned string");
4892
238
    }
4893
4894
666
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
666
    return SCN_MOVE(result);
4896
666
}
_ZN3scn2v44impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4884
180
{
4885
180
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4886
4887
180
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4888
180
    if (!validate_unicode(src.view())) {
4889
6
        return detail::unexpected_scan_error(
4890
6
            scan_error::invalid_scanned_value,
4891
6
            "Invalid encoding in scanned string");
4892
6
    }
4893
4894
174
    SCN_TRY_DISCARD(transcode_if_necessary(SCN_MOVE(src), value));
4895
174
    return SCN_MOVE(result);
4896
174
}
4897
4898
template <typename Range, typename Iterator, typename ValueCharT>
4899
auto read_string_view_impl(Range range,
4900
                           Iterator&& result,
4901
                           std::basic_string_view<ValueCharT>& value)
4902
    -> scan_expected<ranges::const_iterator_t<Range>>
4903
3.73k
{
4904
3.73k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
3.73k
    auto src = [&]() {
4907
3.73k
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
1.12k
            return make_contiguous_buffer(
4909
1.12k
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
2.61k
        else {
4912
2.61k
            return make_contiguous_buffer(
4913
2.61k
                ranges::subrange{range.begin(), result});
4914
2.61k
        }
4915
3.73k
    }();
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
_ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Line
Count
Source
4906
476
    auto src = [&]() {
4907
476
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
476
            return make_contiguous_buffer(
4909
476
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
        else {
4912
            return make_contiguous_buffer(
4913
                ranges::subrange{range.begin(), result});
4914
        }
4915
476
    }();
_ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
Line
Count
Source
4906
268
    auto src = [&]() {
4907
268
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
268
            return make_contiguous_buffer(
4909
268
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
        else {
4912
            return make_contiguous_buffer(
4913
                ranges::subrange{range.begin(), result});
4914
        }
4915
268
    }();
_ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Line
Count
Source
4906
1.03k
    auto src = [&]() {
4907
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
            return make_contiguous_buffer(
4909
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
1.03k
        else {
4912
1.03k
            return make_contiguous_buffer(
4913
1.03k
                ranges::subrange{range.begin(), result});
4914
1.03k
        }
4915
1.03k
    }();
_ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Line
Count
Source
4906
494
    auto src = [&]() {
4907
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
            return make_contiguous_buffer(
4909
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
494
        else {
4912
494
            return make_contiguous_buffer(
4913
494
                ranges::subrange{range.begin(), result});
4914
494
        }
4915
494
    }();
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
_ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Line
Count
Source
4906
204
    auto src = [&]() {
4907
204
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
204
            return make_contiguous_buffer(
4909
204
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
        else {
4912
            return make_contiguous_buffer(
4913
                ranges::subrange{range.begin(), result});
4914
        }
4915
204
    }();
_ZZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
Line
Count
Source
4906
172
    auto src = [&]() {
4907
172
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
172
            return make_contiguous_buffer(
4909
172
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
        else {
4912
            return make_contiguous_buffer(
4913
                ranges::subrange{range.begin(), result});
4914
        }
4915
172
    }();
_ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Line
Count
Source
4906
904
    auto src = [&]() {
4907
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
            return make_contiguous_buffer(
4909
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
904
        else {
4912
904
            return make_contiguous_buffer(
4913
904
                ranges::subrange{range.begin(), result});
4914
904
        }
4915
904
    }();
_ZZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Line
Count
Source
4906
180
    auto src = [&]() {
4907
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
            return make_contiguous_buffer(
4909
                ranges::subrange{range.begin().base(), result.base()});
4910
        }
4911
180
        else {
4912
180
            return make_contiguous_buffer(
4913
180
                ranges::subrange{range.begin(), result});
4914
180
        }
4915
180
    }();
4916
3.73k
    using src_type = decltype(src);
4917
4918
3.73k
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
3.73k
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
0
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
0
                                             "Cannot read a string_view from "
4927
0
                                             "this source range (would require "
4928
0
                                             "transcoding)");
4929
    }
4930
3.73k
    else {
4931
3.73k
        const auto view = src.view();
4932
3.73k
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
3.73k
        if (!validate_unicode(value)) {
4935
960
            return detail::unexpected_scan_error(
4936
960
                scan_error::invalid_scanned_value,
4937
960
                "Invalid encoding in scanned string_view");
4938
960
        }
4939
4940
2.77k
        return SCN_MOVE(result);
4941
3.73k
    }
4942
3.73k
}
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
_ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Line
Count
Source
4903
476
{
4904
476
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
476
    auto src = [&]() {
4907
476
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
476
            return make_contiguous_buffer(
4909
476
                ranges::subrange{range.begin().base(), result.base()});
4910
476
        }
4911
476
        else {
4912
476
            return make_contiguous_buffer(
4913
476
                ranges::subrange{range.begin(), result});
4914
476
        }
4915
476
    }();
4916
476
    using src_type = decltype(src);
4917
4918
476
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
                                             "Cannot read a string_view from "
4927
                                             "this source range (would require "
4928
                                             "transcoding)");
4929
    }
4930
476
    else {
4931
476
        const auto view = src.view();
4932
476
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
476
        if (!validate_unicode(value)) {
4935
170
            return detail::unexpected_scan_error(
4936
170
                scan_error::invalid_scanned_value,
4937
170
                "Invalid encoding in scanned string_view");
4938
170
        }
4939
4940
306
        return SCN_MOVE(result);
4941
476
    }
4942
476
}
_ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
Line
Count
Source
4903
268
{
4904
268
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
268
    auto src = [&]() {
4907
268
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
268
            return make_contiguous_buffer(
4909
268
                ranges::subrange{range.begin().base(), result.base()});
4910
268
        }
4911
268
        else {
4912
268
            return make_contiguous_buffer(
4913
268
                ranges::subrange{range.begin(), result});
4914
268
        }
4915
268
    }();
4916
268
    using src_type = decltype(src);
4917
4918
268
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
                                             "Cannot read a string_view from "
4927
                                             "this source range (would require "
4928
                                             "transcoding)");
4929
    }
4930
268
    else {
4931
268
        const auto view = src.view();
4932
268
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
268
        if (!validate_unicode(value)) {
4935
92
            return detail::unexpected_scan_error(
4936
92
                scan_error::invalid_scanned_value,
4937
92
                "Invalid encoding in scanned string_view");
4938
92
        }
4939
4940
176
        return SCN_MOVE(result);
4941
268
    }
4942
268
}
_ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Line
Count
Source
4903
1.03k
{
4904
1.03k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
1.03k
    auto src = [&]() {
4907
1.03k
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
1.03k
            return make_contiguous_buffer(
4909
1.03k
                ranges::subrange{range.begin().base(), result.base()});
4910
1.03k
        }
4911
1.03k
        else {
4912
1.03k
            return make_contiguous_buffer(
4913
1.03k
                ranges::subrange{range.begin(), result});
4914
1.03k
        }
4915
1.03k
    }();
4916
1.03k
    using src_type = decltype(src);
4917
4918
1.03k
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
                                             "Cannot read a string_view from "
4927
                                             "this source range (would require "
4928
                                             "transcoding)");
4929
    }
4930
1.03k
    else {
4931
1.03k
        const auto view = src.view();
4932
1.03k
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
1.03k
        if (!validate_unicode(value)) {
4935
336
            return detail::unexpected_scan_error(
4936
336
                scan_error::invalid_scanned_value,
4937
336
                "Invalid encoding in scanned string_view");
4938
336
        }
4939
4940
702
        return SCN_MOVE(result);
4941
1.03k
    }
4942
1.03k
}
_ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Line
Count
Source
4903
494
{
4904
494
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
494
    auto src = [&]() {
4907
494
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
494
            return make_contiguous_buffer(
4909
494
                ranges::subrange{range.begin().base(), result.base()});
4910
494
        }
4911
494
        else {
4912
494
            return make_contiguous_buffer(
4913
494
                ranges::subrange{range.begin(), result});
4914
494
        }
4915
494
    }();
4916
494
    using src_type = decltype(src);
4917
4918
494
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
                                             "Cannot read a string_view from "
4927
                                             "this source range (would require "
4928
                                             "transcoding)");
4929
    }
4930
494
    else {
4931
494
        const auto view = src.view();
4932
494
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
494
        if (!validate_unicode(value)) {
4935
52
            return detail::unexpected_scan_error(
4936
52
                scan_error::invalid_scanned_value,
4937
52
                "Invalid encoding in scanned string_view");
4938
52
        }
4939
4940
442
        return SCN_MOVE(result);
4941
494
    }
4942
494
}
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
_ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Line
Count
Source
4903
204
{
4904
204
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
204
    auto src = [&]() {
4907
204
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
204
            return make_contiguous_buffer(
4909
204
                ranges::subrange{range.begin().base(), result.base()});
4910
204
        }
4911
204
        else {
4912
204
            return make_contiguous_buffer(
4913
204
                ranges::subrange{range.begin(), result});
4914
204
        }
4915
204
    }();
4916
204
    using src_type = decltype(src);
4917
4918
204
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
                                             "Cannot read a string_view from "
4927
                                             "this source range (would require "
4928
                                             "transcoding)");
4929
    }
4930
204
    else {
4931
204
        const auto view = src.view();
4932
204
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
204
        if (!validate_unicode(value)) {
4935
62
            return detail::unexpected_scan_error(
4936
62
                scan_error::invalid_scanned_value,
4937
62
                "Invalid encoding in scanned string_view");
4938
62
        }
4939
4940
142
        return SCN_MOVE(result);
4941
204
    }
4942
204
}
_ZN3scn2v44impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
Line
Count
Source
4903
172
{
4904
172
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
172
    auto src = [&]() {
4907
172
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
172
            return make_contiguous_buffer(
4909
172
                ranges::subrange{range.begin().base(), result.base()});
4910
172
        }
4911
172
        else {
4912
172
            return make_contiguous_buffer(
4913
172
                ranges::subrange{range.begin(), result});
4914
172
        }
4915
172
    }();
4916
172
    using src_type = decltype(src);
4917
4918
172
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
                                             "Cannot read a string_view from "
4927
                                             "this source range (would require "
4928
                                             "transcoding)");
4929
    }
4930
172
    else {
4931
172
        const auto view = src.view();
4932
172
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
172
        if (!validate_unicode(value)) {
4935
4
            return detail::unexpected_scan_error(
4936
4
                scan_error::invalid_scanned_value,
4937
4
                "Invalid encoding in scanned string_view");
4938
4
        }
4939
4940
168
        return SCN_MOVE(result);
4941
172
    }
4942
172
}
_ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Line
Count
Source
4903
904
{
4904
904
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
904
    auto src = [&]() {
4907
904
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
904
            return make_contiguous_buffer(
4909
904
                ranges::subrange{range.begin().base(), result.base()});
4910
904
        }
4911
904
        else {
4912
904
            return make_contiguous_buffer(
4913
904
                ranges::subrange{range.begin(), result});
4914
904
        }
4915
904
    }();
4916
904
    using src_type = decltype(src);
4917
4918
904
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
                                             "Cannot read a string_view from "
4927
                                             "this source range (would require "
4928
                                             "transcoding)");
4929
    }
4930
904
    else {
4931
904
        const auto view = src.view();
4932
904
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
904
        if (!validate_unicode(value)) {
4935
238
            return detail::unexpected_scan_error(
4936
238
                scan_error::invalid_scanned_value,
4937
238
                "Invalid encoding in scanned string_view");
4938
238
        }
4939
4940
666
        return SCN_MOVE(result);
4941
904
    }
4942
904
}
_ZN3scn2v44impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Line
Count
Source
4903
180
{
4904
180
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4905
4906
180
    auto src = [&]() {
4907
180
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4908
180
            return make_contiguous_buffer(
4909
180
                ranges::subrange{range.begin().base(), result.base()});
4910
180
        }
4911
180
        else {
4912
180
            return make_contiguous_buffer(
4913
180
                ranges::subrange{range.begin(), result});
4914
180
        }
4915
180
    }();
4916
180
    using src_type = decltype(src);
4917
4918
180
    if (src.stores_allocated_string()) {
4919
0
        return detail::unexpected_scan_error(
4920
0
            scan_error::invalid_format_string,
4921
0
            "Cannot read a string_view from this source range (not "
4922
0
            "contiguous)");
4923
0
    }
4924
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4925
        return detail::unexpected_scan_error(scan_error::invalid_format_string,
4926
                                             "Cannot read a string_view from "
4927
                                             "this source range (would require "
4928
                                             "transcoding)");
4929
    }
4930
180
    else {
4931
180
        const auto view = src.view();
4932
180
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4933
4934
180
        if (!validate_unicode(value)) {
4935
6
            return detail::unexpected_scan_error(
4936
6
                scan_error::invalid_scanned_value,
4937
6
                "Invalid encoding in scanned string_view");
4938
6
        }
4939
4940
174
        return SCN_MOVE(result);
4941
180
    }
4942
180
}
4943
4944
template <typename SourceCharT>
4945
class word_reader_impl {
4946
public:
4947
    template <typename Range, typename ValueCharT>
4948
    auto read(Range range, std::basic_string<ValueCharT>& value)
4949
        -> scan_expected<ranges::const_iterator_t<Range>>
4950
4.65k
    {
4951
4.65k
        return read_string_impl(range, read_until_classic_space(range), value);
4952
4.65k
    }
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4950
318
    {
4951
318
        return read_string_impl(range, read_until_classic_space(range), value);
4952
318
    }
_ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4950
986
    {
4951
986
        return read_string_impl(range, read_until_classic_space(range), value);
4952
986
    }
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4950
318
    {
4951
318
        return read_string_impl(range, read_until_classic_space(range), value);
4952
318
    }
_ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4950
986
    {
4951
986
        return read_string_impl(range, read_until_classic_space(range), value);
4952
986
    }
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4950
150
    {
4951
150
        return read_string_impl(range, read_until_classic_space(range), value);
4952
150
    }
_ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4950
872
    {
4951
872
        return read_string_impl(range, read_until_classic_space(range), value);
4952
872
    }
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4950
150
    {
4951
150
        return read_string_impl(range, read_until_classic_space(range), value);
4952
150
    }
_ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4950
872
    {
4951
872
        return read_string_impl(range, read_until_classic_space(range), value);
4952
872
    }
4953
4954
    template <typename Range, typename ValueCharT>
4955
    auto read(Range range, std::basic_string_view<ValueCharT>& value)
4956
        -> scan_expected<ranges::const_iterator_t<Range>>
4957
2.32k
    {
4958
2.32k
        return read_string_view_impl(range, read_until_classic_space(range),
4959
2.32k
                                     value);
4960
2.32k
    }
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
4957
318
    {
4958
318
        return read_string_view_impl(range, read_until_classic_space(range),
4959
318
                                     value);
4960
318
    }
_ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Line
Count
Source
4957
986
    {
4958
986
        return read_string_view_impl(range, read_until_classic_space(range),
4959
986
                                     value);
4960
986
    }
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v44impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
4957
150
    {
4958
150
        return read_string_view_impl(range, read_until_classic_space(range),
4959
150
                                     value);
4960
150
    }
_ZN3scn2v44impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Line
Count
Source
4957
872
    {
4958
872
        return read_string_view_impl(range, read_until_classic_space(range),
4959
872
                                     value);
4960
872
    }
4961
};
4962
4963
template <typename SourceCharT>
4964
class custom_word_reader_impl {
4965
public:
4966
    template <typename Range, typename ValueCharT>
4967
    auto read(Range range,
4968
              const detail::format_specs& specs,
4969
              std::basic_string<ValueCharT>& value)
4970
        -> scan_expected<ranges::const_iterator_t<Range>>
4971
424
    {
4972
424
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
260
            return read_string_impl(
4974
260
                range,
4975
260
                read_until_code_unit(
4976
260
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
260
                value);
4978
260
        }
4979
164
        return read_string_impl(
4980
164
            range,
4981
164
            read_until_code_units(
4982
164
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
164
            value);
4984
424
    }
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4971
100
    {
4972
100
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
48
            return read_string_impl(
4974
48
                range,
4975
48
                read_until_code_unit(
4976
48
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
48
                value);
4978
48
        }
4979
52
        return read_string_impl(
4980
52
            range,
4981
52
            read_until_code_units(
4982
52
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
52
            value);
4984
100
    }
_ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4971
52
    {
4972
52
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
22
            return read_string_impl(
4974
22
                range,
4975
22
                read_until_code_unit(
4976
22
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
22
                value);
4978
22
        }
4979
30
        return read_string_impl(
4980
30
            range,
4981
30
            read_until_code_units(
4982
30
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
30
            value);
4984
52
    }
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4971
100
    {
4972
100
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
48
            return read_string_impl(
4974
48
                range,
4975
48
                read_until_code_unit(
4976
48
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
48
                value);
4978
48
        }
4979
52
        return read_string_impl(
4980
52
            range,
4981
52
            read_until_code_units(
4982
52
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
52
            value);
4984
100
    }
_ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4971
52
    {
4972
52
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
22
            return read_string_impl(
4974
22
                range,
4975
22
                read_until_code_unit(
4976
22
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
22
                value);
4978
22
        }
4979
30
        return read_string_impl(
4980
30
            range,
4981
30
            read_until_code_units(
4982
30
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
30
            value);
4984
52
    }
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4971
28
    {
4972
28
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
28
            return read_string_impl(
4974
28
                range,
4975
28
                read_until_code_unit(
4976
28
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
28
                value);
4978
28
        }
4979
0
        return read_string_impl(
4980
0
            range,
4981
0
            read_until_code_units(
4982
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
0
            value);
4984
28
    }
_ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4971
32
    {
4972
32
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
32
            return read_string_impl(
4974
32
                range,
4975
32
                read_until_code_unit(
4976
32
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
32
                value);
4978
32
        }
4979
0
        return read_string_impl(
4980
0
            range,
4981
0
            read_until_code_units(
4982
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
0
            value);
4984
32
    }
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4971
28
    {
4972
28
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
28
            return read_string_impl(
4974
28
                range,
4975
28
                read_until_code_unit(
4976
28
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
28
                value);
4978
28
        }
4979
0
        return read_string_impl(
4980
0
            range,
4981
0
            read_until_code_units(
4982
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
0
            value);
4984
28
    }
_ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4971
32
    {
4972
32
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4973
32
            return read_string_impl(
4974
32
                range,
4975
32
                read_until_code_unit(
4976
32
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4977
32
                value);
4978
32
        }
4979
0
        return read_string_impl(
4980
0
            range,
4981
0
            read_until_code_units(
4982
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4983
0
            value);
4984
32
    }
4985
4986
    template <typename Range, typename ValueCharT>
4987
    auto read(Range range,
4988
              const detail::format_specs& specs,
4989
              std::basic_string_view<ValueCharT>& value)
4990
        -> scan_expected<ranges::const_iterator_t<Range>>
4991
212
    {
4992
212
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4993
130
            return read_string_view_impl(
4994
130
                range,
4995
130
                read_until_code_unit(
4996
130
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4997
130
                value);
4998
130
        }
4999
82
        return read_string_view_impl(
5000
82
            range,
5001
82
            read_until_code_units(
5002
82
                range, specs.fill.template get_code_units<SourceCharT>()),
5003
82
            value);
5004
212
    }
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
_ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Line
Count
Source
4991
100
    {
4992
100
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4993
48
            return read_string_view_impl(
4994
48
                range,
4995
48
                read_until_code_unit(
4996
48
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4997
48
                value);
4998
48
        }
4999
52
        return read_string_view_impl(
5000
52
            range,
5001
52
            read_until_code_units(
5002
52
                range, specs.fill.template get_code_units<SourceCharT>()),
5003
52
            value);
5004
100
    }
_ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
4991
52
    {
4992
52
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4993
22
            return read_string_view_impl(
4994
22
                range,
4995
22
                read_until_code_unit(
4996
22
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4997
22
                value);
4998
22
        }
4999
30
        return read_string_view_impl(
5000
30
            range,
5001
30
            read_until_code_units(
5002
30
                range, specs.fill.template get_code_units<SourceCharT>()),
5003
30
            value);
5004
52
    }
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
_ZN3scn2v44impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Line
Count
Source
4991
28
    {
4992
28
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4993
28
            return read_string_view_impl(
4994
28
                range,
4995
28
                read_until_code_unit(
4996
28
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4997
28
                value);
4998
28
        }
4999
0
        return read_string_view_impl(
5000
0
            range,
5001
0
            read_until_code_units(
5002
0
                range, specs.fill.template get_code_units<SourceCharT>()),
5003
0
            value);
5004
28
    }
_ZN3scn2v44impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
4991
32
    {
4992
32
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4993
32
            return read_string_view_impl(
4994
32
                range,
4995
32
                read_until_code_unit(
4996
32
                    range, specs.fill.template get_code_unit<SourceCharT>()),
4997
32
                value);
4998
32
        }
4999
0
        return read_string_view_impl(
5000
0
            range,
5001
0
            read_until_code_units(
5002
0
                range, specs.fill.template get_code_units<SourceCharT>()),
5003
0
            value);
5004
32
    }
5005
};
5006
5007
#if !SCN_DISABLE_REGEX
5008
template <typename SourceCharT>
5009
class regex_string_reader_impl {
5010
public:
5011
    template <typename Range, typename ValueCharT>
5012
    auto read(Range range,
5013
              std::basic_string_view<SourceCharT> pattern,
5014
              detail::regex_flags flags,
5015
              std::basic_string<ValueCharT>& value)
5016
        -> scan_expected<ranges::const_iterator_t<Range>>
5017
372
    {
5018
372
        SCN_TRY(it, impl(range, pattern, flags));
5019
60
        return read_string_impl(range, it, value);
5020
372
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
_ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Line
Count
Source
5017
54
    {
5018
54
        SCN_TRY(it, impl(range, pattern, flags));
5019
0
        return read_string_impl(range, it, value);
5020
54
    }
_ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
Line
Count
Source
5017
132
    {
5018
132
        SCN_TRY(it, impl(range, pattern, flags));
5019
30
        return read_string_impl(range, it, value);
5020
132
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
_ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Line
Count
Source
5017
54
    {
5018
54
        SCN_TRY(it, impl(range, pattern, flags));
5019
0
        return read_string_impl(range, it, value);
5020
54
    }
_ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
Line
Count
Source
5017
132
    {
5018
132
        SCN_TRY(it, impl(range, pattern, flags));
5019
30
        return read_string_impl(range, it, value);
5020
132
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
5021
5022
    template <typename Range, typename ValueCharT>
5023
    auto read(Range range,
5024
              std::basic_string_view<SourceCharT> pattern,
5025
              detail::regex_flags flags,
5026
              std::basic_string_view<ValueCharT>& value)
5027
        -> scan_expected<ranges::const_iterator_t<Range>>
5028
186
    {
5029
186
        SCN_TRY(it, impl(range, pattern, flags));
5030
30
        return read_string_view_impl(range, it, value);
5031
186
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
_ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Line
Count
Source
5028
54
    {
5029
54
        SCN_TRY(it, impl(range, pattern, flags));
5030
0
        return read_string_view_impl(range, it, value);
5031
54
    }
_ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
Line
Count
Source
5028
132
    {
5029
132
        SCN_TRY(it, impl(range, pattern, flags));
5030
30
        return read_string_view_impl(range, it, value);
5031
132
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
5032
5033
private:
5034
    template <typename Range>
5035
    auto impl(Range range,
5036
              std::basic_string_view<SourceCharT> pattern,
5037
              detail::regex_flags flags)
5038
        -> scan_expected<ranges::const_iterator_t<Range>>
5039
558
    {
5040
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
5041
0
                      !std::is_same_v<SourceCharT, char>) {
5042
0
            return detail::unexpected_scan_error(
5043
0
                scan_error::invalid_format_string,
5044
0
                "Regex backend doesn't support wide strings as input");
5045
        }
5046
558
        else {
5047
558
            if (!is_entire_source_contiguous(range)) {
5048
162
                return detail::unexpected_scan_error(
5049
162
                    scan_error::invalid_format_string,
5050
162
                    "Cannot use regex with a non-contiguous source "
5051
162
                    "range");
5052
162
            }
5053
5054
396
            auto input = get_as_contiguous(range);
5055
396
            SCN_TRY(it,
5056
90
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
5057
90
            return ranges::next(range.begin(),
5058
90
                                ranges::distance(input.begin(), it));
5059
396
        }
5060
558
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIcE4implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsE
_ZN3scn2v44impl24regex_string_reader_implIcE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsE
Line
Count
Source
5039
162
    {
5040
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
5041
                      !std::is_same_v<SourceCharT, char>) {
5042
            return detail::unexpected_scan_error(
5043
                scan_error::invalid_format_string,
5044
                "Regex backend doesn't support wide strings as input");
5045
        }
5046
162
        else {
5047
162
            if (!is_entire_source_contiguous(range)) {
5048
162
                return detail::unexpected_scan_error(
5049
162
                    scan_error::invalid_format_string,
5050
162
                    "Cannot use regex with a non-contiguous source "
5051
162
                    "range");
5052
162
            }
5053
5054
0
            auto input = get_as_contiguous(range);
5055
0
            SCN_TRY(it,
5056
0
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
5057
0
            return ranges::next(range.begin(),
5058
0
                                ranges::distance(input.begin(), it));
5059
0
        }
5060
162
    }
_ZN3scn2v44impl24regex_string_reader_implIcE4implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsE
Line
Count
Source
5039
396
    {
5040
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
5041
                      !std::is_same_v<SourceCharT, char>) {
5042
            return detail::unexpected_scan_error(
5043
                scan_error::invalid_format_string,
5044
                "Regex backend doesn't support wide strings as input");
5045
        }
5046
396
        else {
5047
396
            if (!is_entire_source_contiguous(range)) {
5048
0
                return detail::unexpected_scan_error(
5049
0
                    scan_error::invalid_format_string,
5050
0
                    "Cannot use regex with a non-contiguous source "
5051
0
                    "range");
5052
0
            }
5053
5054
396
            auto input = get_as_contiguous(range);
5055
396
            SCN_TRY(it,
5056
90
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
5057
90
            return ranges::next(range.begin(),
5058
90
                                ranges::distance(input.begin(), it));
5059
396
        }
5060
396
    }
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsE
Unexecuted instantiation: _ZN3scn2v44impl24regex_string_reader_implIwE4implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsE
5061
};
5062
#endif
5063
5064
template <typename SourceCharT>
5065
class character_reader_impl {
5066
public:
5067
    // Note: no localized version,
5068
    // since it's equivalent in behavior
5069
5070
    template <typename Range, typename ValueCharT>
5071
    auto read(Range range, std::basic_string<ValueCharT>& value)
5072
        -> scan_expected<ranges::const_iterator_t<Range>>
5073
168
    {
5074
168
        return read_impl(
5075
168
            range,
5076
168
            [&](const auto& rng) {
5077
168
                return read_string_impl(rng, read_all(rng), value);
5078
168
            },
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
5076
58
            [&](const auto& rng) {
5077
58
                return read_string_impl(rng, read_all(rng), value);
5078
58
            },
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
5076
58
            [&](const auto& rng) {
5077
58
                return read_string_impl(rng, read_all(rng), value);
5078
58
            },
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
5076
26
            [&](const auto& rng) {
5077
26
                return read_string_impl(rng, read_all(rng), value);
5078
26
            },
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
5076
26
            [&](const auto& rng) {
5077
26
                return read_string_impl(rng, read_all(rng), value);
5078
26
            },
5079
168
            detail::priority_tag<1>{});
5080
168
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
5073
58
    {
5074
58
        return read_impl(
5075
58
            range,
5076
58
            [&](const auto& rng) {
5077
58
                return read_string_impl(rng, read_all(rng), value);
5078
58
            },
5079
58
            detail::priority_tag<1>{});
5080
58
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
5073
58
    {
5074
58
        return read_impl(
5075
58
            range,
5076
58
            [&](const auto& rng) {
5077
58
                return read_string_impl(rng, read_all(rng), value);
5078
58
            },
5079
58
            detail::priority_tag<1>{});
5080
58
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
5073
26
    {
5074
26
        return read_impl(
5075
26
            range,
5076
26
            [&](const auto& rng) {
5077
26
                return read_string_impl(rng, read_all(rng), value);
5078
26
            },
5079
26
            detail::priority_tag<1>{});
5080
26
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
5073
26
    {
5074
26
        return read_impl(
5075
26
            range,
5076
26
            [&](const auto& rng) {
5077
26
                return read_string_impl(rng, read_all(rng), value);
5078
26
            },
5079
26
            detail::priority_tag<1>{});
5080
26
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
5081
5082
    template <typename Range, typename ValueCharT>
5083
    auto read(Range range, std::basic_string_view<ValueCharT>& value)
5084
        -> scan_expected<ranges::const_iterator_t<Range>>
5085
84
    {
5086
84
        return read_impl(
5087
84
            range,
5088
84
            [&](const auto& rng) {
5089
84
                return read_string_view_impl(rng, read_all(rng), value);
5090
84
            },
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
_ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Line
Count
Source
5088
58
            [&](const auto& rng) {
5089
58
                return read_string_view_impl(rng, read_all(rng), value);
5090
58
            },
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Unexecuted instantiation: _ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
_ZZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Line
Count
Source
5088
26
            [&](const auto& rng) {
5089
26
                return read_string_view_impl(rng, read_all(rng), value);
5090
26
            },
5091
84
            detail::priority_tag<1>{});
5092
84
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
5085
58
    {
5086
58
        return read_impl(
5087
58
            range,
5088
58
            [&](const auto& rng) {
5089
58
                return read_string_view_impl(rng, read_all(rng), value);
5090
58
            },
5091
58
            detail::priority_tag<1>{});
5092
58
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v44impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
5085
26
    {
5086
26
        return read_impl(
5087
26
            range,
5088
26
            [&](const auto& rng) {
5089
26
                return read_string_view_impl(rng, read_all(rng), value);
5090
26
            },
5091
26
            detail::priority_tag<1>{});
5092
26
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
5093
5094
private:
5095
    template <typename View, typename ReadCb>
5096
    static auto read_impl(const take_width_view<View>& range,
5097
                          ReadCb&& read_cb,
5098
                          detail::priority_tag<1>)
5099
        -> scan_expected<ranges::const_iterator_t<take_width_view<View>&>>
5100
252
    {
5101
252
        return read_cb(range);
5102
252
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
5100
58
    {
5101
58
        return read_cb(range);
5102
58
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
5100
58
    {
5101
58
        return read_cb(range);
5102
58
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
5100
58
    {
5101
58
        return read_cb(range);
5102
58
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
5100
26
    {
5101
26
        return read_cb(range);
5102
26
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
5100
26
    {
5101
26
        return read_cb(range);
5102
26
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
5100
26
    {
5101
26
        return read_cb(range);
5102
26
    }
5103
5104
    template <typename Range, typename ReadCb>
5105
    static auto read_impl(Range, ReadCb&&, detail::priority_tag<0>)
5106
        -> scan_expected<ranges::const_iterator_t<Range>>
5107
0
    {
5108
0
        return detail::unexpected_scan_error(
5109
0
            scan_error::invalid_format_string,
5110
0
            "Cannot read characters {:c} without maximum field width");
5111
0
    }
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v44impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
5112
};
5113
5114
struct nonascii_specs_handler {
5115
    void on_charset_single(char32_t cp)
5116
360k
    {
5117
360k
        on_charset_range(cp, cp + 1);
5118
360k
    }
5119
5120
    void on_charset_range(char32_t begin, char32_t end)
5121
363k
    {
5122
363k
        if (end <= 127) {
5123
173k
            return;
5124
173k
        }
5125
5126
36.4M
        for (auto& elem : extra_ranges) {
5127
            // TODO: check for overlap
5128
36.4M
            if (elem.first == end) {
5129
576
                elem.first = begin;
5130
576
                return;
5131
576
            }
5132
5133
36.4M
            if (elem.second == begin) {
5134
2.02k
                elem.second = end;
5135
2.02k
                return;
5136
2.02k
            }
5137
36.4M
        }
5138
5139
187k
        extra_ranges.push_back(std::make_pair(begin, end));
5140
187k
    }
5141
5142
    constexpr void on_charset_inverted() const
5143
852
    {
5144
        // no-op
5145
852
    }
5146
5147
    constexpr void on_error(const char* msg)
5148
0
    {
5149
0
        on_error(scan_error{scan_error::invalid_format_string, msg});
5150
0
    }
5151
    constexpr void on_error(scan_error e)
5152
0
    {
5153
0
        SCN_UNLIKELY_ATTR
5154
0
        err = unexpected(e);
5155
0
    }
5156
5157
    constexpr scan_expected<void> get_error() const
5158
370k
    {
5159
370k
        return err;
5160
370k
    }
5161
5162
    std::vector<std::pair<char32_t, char32_t>> extra_ranges;
5163
    scan_expected<void> err;
5164
};
5165
5166
template <typename SourceCharT>
5167
class character_set_reader_impl {
5168
public:
5169
    template <typename Range, typename ValueCharT>
5170
    auto read(Range range,
5171
              const detail::format_specs& specs,
5172
              std::basic_string<ValueCharT>& value)
5173
        -> scan_expected<ranges::const_iterator_t<Range>>
5174
3.00k
    {
5175
3.00k
        auto it = read_source_impl(range, {specs});
5176
3.00k
        if (SCN_UNLIKELY(!it)) {
5177
832
            return unexpected(it.error());
5178
832
        }
5179
5180
2.16k
        return read_string_impl(range, *it, value);
5181
3.00k
    }
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
5174
276
    {
5175
276
        auto it = read_source_impl(range, {specs});
5176
276
        if (SCN_UNLIKELY(!it)) {
5177
8
            return unexpected(it.error());
5178
8
        }
5179
5180
268
        return read_string_impl(range, *it, value);
5181
276
    }
_ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5174
844
    {
5175
844
        auto it = read_source_impl(range, {specs});
5176
844
        if (SCN_UNLIKELY(!it)) {
5177
380
            return unexpected(it.error());
5178
380
        }
5179
5180
464
        return read_string_impl(range, *it, value);
5181
844
    }
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
5174
276
    {
5175
276
        auto it = read_source_impl(range, {specs});
5176
276
        if (SCN_UNLIKELY(!it)) {
5177
8
            return unexpected(it.error());
5178
8
        }
5179
5180
268
        return read_string_impl(range, *it, value);
5181
276
    }
_ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5174
844
    {
5175
844
        auto it = read_source_impl(range, {specs});
5176
844
        if (SCN_UNLIKELY(!it)) {
5177
380
            return unexpected(it.error());
5178
380
        }
5179
5180
464
        return read_string_impl(range, *it, value);
5181
844
    }
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
5174
182
    {
5175
182
        auto it = read_source_impl(range, {specs});
5176
182
        if (SCN_UNLIKELY(!it)) {
5177
10
            return unexpected(it.error());
5178
10
        }
5179
5180
172
        return read_string_impl(range, *it, value);
5181
182
    }
_ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5174
198
    {
5175
198
        auto it = read_source_impl(range, {specs});
5176
198
        if (SCN_UNLIKELY(!it)) {
5177
18
            return unexpected(it.error());
5178
18
        }
5179
5180
180
        return read_string_impl(range, *it, value);
5181
198
    }
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
5174
182
    {
5175
182
        auto it = read_source_impl(range, {specs});
5176
182
        if (SCN_UNLIKELY(!it)) {
5177
10
            return unexpected(it.error());
5178
10
        }
5179
5180
172
        return read_string_impl(range, *it, value);
5181
182
    }
_ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5174
198
    {
5175
198
        auto it = read_source_impl(range, {specs});
5176
198
        if (SCN_UNLIKELY(!it)) {
5177
18
            return unexpected(it.error());
5178
18
        }
5179
5180
180
        return read_string_impl(range, *it, value);
5181
198
    }
5182
5183
    template <typename Range, typename ValueCharT>
5184
    auto read(Range range,
5185
              const detail::format_specs& specs,
5186
              std::basic_string_view<ValueCharT>& value)
5187
        -> scan_expected<ranges::const_iterator_t<Range>>
5188
1.50k
    {
5189
1.50k
        auto it = read_source_impl(range, {specs});
5190
1.50k
        if (SCN_UNLIKELY(!it)) {
5191
416
            return unexpected(it.error());
5192
416
        }
5193
5194
1.08k
        return read_string_view_impl(range, *it, value);
5195
1.50k
    }
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
_ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Line
Count
Source
5188
276
    {
5189
276
        auto it = read_source_impl(range, {specs});
5190
276
        if (SCN_UNLIKELY(!it)) {
5191
8
            return unexpected(it.error());
5192
8
        }
5193
5194
268
        return read_string_view_impl(range, *it, value);
5195
276
    }
_ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
5188
844
    {
5189
844
        auto it = read_source_impl(range, {specs});
5190
844
        if (SCN_UNLIKELY(!it)) {
5191
380
            return unexpected(it.error());
5192
380
        }
5193
5194
464
        return read_string_view_impl(range, *it, value);
5195
844
    }
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
_ZN3scn2v44impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Line
Count
Source
5188
182
    {
5189
182
        auto it = read_source_impl(range, {specs});
5190
182
        if (SCN_UNLIKELY(!it)) {
5191
10
            return unexpected(it.error());
5192
10
        }
5193
5194
172
        return read_string_view_impl(range, *it, value);
5195
182
    }
_ZN3scn2v44impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
5188
198
    {
5189
198
        auto it = read_source_impl(range, {specs});
5190
198
        if (SCN_UNLIKELY(!it)) {
5191
18
            return unexpected(it.error());
5192
18
        }
5193
5194
180
        return read_string_view_impl(range, *it, value);
5195
198
    }
5196
5197
private:
5198
    struct specs_helper {
5199
4.50k
        constexpr specs_helper(const detail::format_specs& s) : specs(s) {}
scn::v4::impl::character_set_reader_impl<char>::specs_helper::specs_helper(scn::v4::detail::format_specs const&)
Line
Count
Source
5199
3.36k
        constexpr specs_helper(const detail::format_specs& s) : specs(s) {}
scn::v4::impl::character_set_reader_impl<wchar_t>::specs_helper::specs_helper(scn::v4::detail::format_specs const&)
Line
Count
Source
5199
1.14k
        constexpr specs_helper(const detail::format_specs& s) : specs(s) {}
5200
5201
        constexpr bool is_char_set_in_literals(char ch) const
5202
250k
        {
5203
250k
            SCN_EXPECT(is_ascii_char(ch));
5204
250k
            const auto val =
5205
250k
                static_cast<unsigned>(static_cast<unsigned char>(ch));
5206
250k
            return (static_cast<unsigned>(specs.charset_literals[val / 8]) >>
5207
250k
                    (val % 8)) &
5208
250k
                   1u;
5209
250k
        }
scn::v4::impl::character_set_reader_impl<char>::specs_helper::is_char_set_in_literals(char) const
Line
Count
Source
5202
239k
        {
5203
239k
            SCN_EXPECT(is_ascii_char(ch));
5204
239k
            const auto val =
5205
239k
                static_cast<unsigned>(static_cast<unsigned char>(ch));
5206
239k
            return (static_cast<unsigned>(specs.charset_literals[val / 8]) >>
5207
239k
                    (val % 8)) &
5208
239k
                   1u;
5209
239k
        }
scn::v4::impl::character_set_reader_impl<wchar_t>::specs_helper::is_char_set_in_literals(char) const
Line
Count
Source
5202
10.4k
        {
5203
10.4k
            SCN_EXPECT(is_ascii_char(ch));
5204
10.4k
            const auto val =
5205
10.4k
                static_cast<unsigned>(static_cast<unsigned char>(ch));
5206
10.4k
            return (static_cast<unsigned>(specs.charset_literals[val / 8]) >>
5207
10.4k
                    (val % 8)) &
5208
10.4k
                   1u;
5209
10.4k
        }
5210
5211
        bool is_char_set_in_extra_literals(char32_t cp) const
5212
46.6k
        {
5213
            // TODO: binary search?
5214
46.6k
            if (nonascii.extra_ranges.empty()) {
5215
0
                return false;
5216
0
            }
5217
5218
46.6k
            const auto cp_val = static_cast<uint32_t>(cp);
5219
46.6k
            return std::find_if(
5220
46.6k
                       nonascii.extra_ranges.begin(),
5221
46.6k
                       nonascii.extra_ranges.end(),
5222
8.51M
                       [cp_val](const auto& pair) noexcept {
5223
8.51M
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5224
8.51M
                                  static_cast<uint32_t>(pair.second) > cp_val;
5225
8.51M
                       }) != nonascii.extra_ranges.end();
auto scn::v4::impl::character_set_reader_impl<char>::specs_helper::is_char_set_in_extra_literals(char32_t) const::{lambda(auto:1 const&)#1}::operator()<std::__1::pair<char32_t, char32_t> >(std::__1::pair<char32_t, char32_t> const&) const
Line
Count
Source
5222
8.48M
                       [cp_val](const auto& pair) noexcept {
5223
8.48M
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5224
8.48M
                                  static_cast<uint32_t>(pair.second) > cp_val;
5225
8.48M
                       }) != nonascii.extra_ranges.end();
auto scn::v4::impl::character_set_reader_impl<wchar_t>::specs_helper::is_char_set_in_extra_literals(char32_t) const::{lambda(auto:1 const&)#1}::operator()<std::__1::pair<char32_t, char32_t> >(std::__1::pair<char32_t, char32_t> const&) const
Line
Count
Source
5222
30.5k
                       [cp_val](const auto& pair) noexcept {
5223
30.5k
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5224
30.5k
                                  static_cast<uint32_t>(pair.second) > cp_val;
5225
30.5k
                       }) != nonascii.extra_ranges.end();
5226
46.6k
        }
scn::v4::impl::character_set_reader_impl<char>::specs_helper::is_char_set_in_extra_literals(char32_t) const
Line
Count
Source
5212
43.7k
        {
5213
            // TODO: binary search?
5214
43.7k
            if (nonascii.extra_ranges.empty()) {
5215
0
                return false;
5216
0
            }
5217
5218
43.7k
            const auto cp_val = static_cast<uint32_t>(cp);
5219
43.7k
            return std::find_if(
5220
43.7k
                       nonascii.extra_ranges.begin(),
5221
43.7k
                       nonascii.extra_ranges.end(),
5222
43.7k
                       [cp_val](const auto& pair) noexcept {
5223
43.7k
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5224
43.7k
                                  static_cast<uint32_t>(pair.second) > cp_val;
5225
43.7k
                       }) != nonascii.extra_ranges.end();
5226
43.7k
        }
scn::v4::impl::character_set_reader_impl<wchar_t>::specs_helper::is_char_set_in_extra_literals(char32_t) const
Line
Count
Source
5212
2.95k
        {
5213
            // TODO: binary search?
5214
2.95k
            if (nonascii.extra_ranges.empty()) {
5215
0
                return false;
5216
0
            }
5217
5218
2.95k
            const auto cp_val = static_cast<uint32_t>(cp);
5219
2.95k
            return std::find_if(
5220
2.95k
                       nonascii.extra_ranges.begin(),
5221
2.95k
                       nonascii.extra_ranges.end(),
5222
2.95k
                       [cp_val](const auto& pair) noexcept {
5223
2.95k
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5224
2.95k
                                  static_cast<uint32_t>(pair.second) > cp_val;
5225
2.95k
                       }) != nonascii.extra_ranges.end();
5226
2.95k
        }
5227
5228
        scan_expected<void> handle_nonascii()
5229
4.50k
        {
5230
4.50k
            if (!specs.charset_has_nonascii) {
5231
972
                return {};
5232
972
            }
5233
5234
3.52k
            auto charset_string = specs.charset_string<SourceCharT>();
5235
3.52k
            auto it = detail::to_address(charset_string.begin());
5236
3.52k
            auto set = detail::parse_presentation_set(
5237
3.52k
                it, detail::to_address(charset_string.end()), nonascii);
5238
3.52k
            SCN_TRY_DISCARD(nonascii.get_error());
5239
3.52k
            SCN_ENSURE(it == detail::to_address(charset_string.end()));
5240
3.52k
            SCN_ENSURE(set == charset_string);
5241
5242
3.52k
            std::sort(nonascii.extra_ranges.begin(),
5243
3.52k
                      nonascii.extra_ranges.end());
5244
3.52k
            return {};
5245
3.52k
        }
scn::v4::impl::character_set_reader_impl<char>::specs_helper::handle_nonascii()
Line
Count
Source
5229
3.36k
        {
5230
3.36k
            if (!specs.charset_has_nonascii) {
5231
588
                return {};
5232
588
            }
5233
5234
2.77k
            auto charset_string = specs.charset_string<SourceCharT>();
5235
2.77k
            auto it = detail::to_address(charset_string.begin());
5236
2.77k
            auto set = detail::parse_presentation_set(
5237
2.77k
                it, detail::to_address(charset_string.end()), nonascii);
5238
2.77k
            SCN_TRY_DISCARD(nonascii.get_error());
5239
2.77k
            SCN_ENSURE(it == detail::to_address(charset_string.end()));
5240
2.77k
            SCN_ENSURE(set == charset_string);
5241
5242
2.77k
            std::sort(nonascii.extra_ranges.begin(),
5243
2.77k
                      nonascii.extra_ranges.end());
5244
2.77k
            return {};
5245
2.77k
        }
scn::v4::impl::character_set_reader_impl<wchar_t>::specs_helper::handle_nonascii()
Line
Count
Source
5229
1.14k
        {
5230
1.14k
            if (!specs.charset_has_nonascii) {
5231
384
                return {};
5232
384
            }
5233
5234
756
            auto charset_string = specs.charset_string<SourceCharT>();
5235
756
            auto it = detail::to_address(charset_string.begin());
5236
756
            auto set = detail::parse_presentation_set(
5237
756
                it, detail::to_address(charset_string.end()), nonascii);
5238
756
            SCN_TRY_DISCARD(nonascii.get_error());
5239
756
            SCN_ENSURE(it == detail::to_address(charset_string.end()));
5240
756
            SCN_ENSURE(set == charset_string);
5241
5242
756
            std::sort(nonascii.extra_ranges.begin(),
5243
756
                      nonascii.extra_ranges.end());
5244
756
            return {};
5245
756
        }
5246
5247
        const detail::format_specs& specs;
5248
        nonascii_specs_handler nonascii;
5249
    };
5250
5251
    struct read_source_callback {
5252
        SCN_NODISCARD bool on_ascii_only(SourceCharT ch) const
5253
14.2k
        {
5254
14.2k
            if (!is_ascii_char(ch)) {
5255
2.08k
                return false;
5256
2.08k
            }
5257
5258
12.1k
            return helper.is_char_set_in_literals(static_cast<char>(ch));
5259
14.2k
        }
scn::v4::impl::character_set_reader_impl<char>::read_source_callback::on_ascii_only(char) const
Line
Count
Source
5253
10.3k
        {
5254
10.3k
            if (!is_ascii_char(ch)) {
5255
1.89k
                return false;
5256
1.89k
            }
5257
5258
8.44k
            return helper.is_char_set_in_literals(static_cast<char>(ch));
5259
10.3k
        }
scn::v4::impl::character_set_reader_impl<wchar_t>::read_source_callback::on_ascii_only(wchar_t) const
Line
Count
Source
5253
3.88k
        {
5254
3.88k
            if (!is_ascii_char(ch)) {
5255
192
                return false;
5256
192
            }
5257
5258
3.69k
            return helper.is_char_set_in_literals(static_cast<char>(ch));
5259
3.88k
        }
5260
5261
        SCN_NODISCARD bool on_classic_with_extra_ranges(char32_t cp) const
5262
284k
        {
5263
284k
            if (!is_ascii_char(cp)) {
5264
46.6k
                return helper.is_char_set_in_extra_literals(cp);
5265
46.6k
            }
5266
5267
237k
            return helper.is_char_set_in_literals(static_cast<char>(cp));
5268
284k
        }
scn::v4::impl::character_set_reader_impl<char>::read_source_callback::on_classic_with_extra_ranges(char32_t) const
Line
Count
Source
5262
274k
        {
5263
274k
            if (!is_ascii_char(cp)) {
5264
43.7k
                return helper.is_char_set_in_extra_literals(cp);
5265
43.7k
            }
5266
5267
231k
            return helper.is_char_set_in_literals(static_cast<char>(cp));
5268
274k
        }
scn::v4::impl::character_set_reader_impl<wchar_t>::read_source_callback::on_classic_with_extra_ranges(char32_t) const
Line
Count
Source
5262
9.75k
        {
5263
9.75k
            if (!is_ascii_char(cp)) {
5264
2.95k
                return helper.is_char_set_in_extra_literals(cp);
5265
2.95k
            }
5266
5267
6.79k
            return helper.is_char_set_in_literals(static_cast<char>(cp));
5268
9.75k
        }
5269
5270
        const specs_helper& helper;
5271
        detail::locale_ref loc{};
5272
    };
5273
5274
    template <typename Range>
5275
    auto read_source_impl(Range range, specs_helper helper) const
5276
        -> scan_expected<ranges::const_iterator_t<Range>>
5277
4.50k
    {
5278
4.50k
        const bool is_inverted = helper.specs.charset_is_inverted;
5279
4.50k
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5280
5281
4.50k
        SCN_TRY_DISCARD(helper.handle_nonascii());
5282
5283
4.50k
        read_source_callback cb_wrapper{helper};
5284
5285
4.50k
        if (accepts_nonascii) {
5286
284k
            const auto cb = [&](char32_t cp) {
5287
284k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
284k
            };
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlDiE_clEDi
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlDiE_clEDi
_ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlDiE_clEDi
Line
Count
Source
5286
10.2k
            const auto cb = [&](char32_t cp) {
5287
10.2k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
10.2k
            };
_ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlDiE_clEDi
Line
Count
Source
5286
264k
            const auto cb = [&](char32_t cp) {
5287
264k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
264k
            };
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlDiE_clEDi
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlDiE_clEDi
_ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlDiE_clEDi
Line
Count
Source
5286
4.77k
            const auto cb = [&](char32_t cp) {
5287
4.77k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
4.77k
            };
_ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlDiE_clEDi
Line
Count
Source
5286
4.98k
            const auto cb = [&](char32_t cp) {
5287
4.98k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
4.98k
            };
5289
5290
3.52k
            if (is_inverted) {
5291
852
                auto it = read_until_code_point(range, cb);
5292
852
                return check_nonempty(it, range);
5293
852
            }
5294
2.67k
            auto it = read_while_code_point(range, cb);
5295
2.67k
            return check_nonempty(it, range);
5296
3.52k
        }
5297
5298
14.2k
        const auto cb = [&](SourceCharT ch) {
5299
14.2k
            return cb_wrapper.on_ascii_only(ch);
5300
14.2k
        };
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlcE_clEc
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlcE_clEc
_ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlcE_clEc
Line
Count
Source
5298
7.21k
        const auto cb = [&](SourceCharT ch) {
5299
7.21k
            return cb_wrapper.on_ascii_only(ch);
5300
7.21k
        };
_ZZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlcE_clEc
Line
Count
Source
5298
3.13k
        const auto cb = [&](SourceCharT ch) {
5299
3.13k
            return cb_wrapper.on_ascii_only(ch);
5300
3.13k
        };
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlwE_clEw
Unexecuted instantiation: _ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlwE_clEw
_ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlwE_clEw
Line
Count
Source
5298
1.72k
        const auto cb = [&](SourceCharT ch) {
5299
1.72k
            return cb_wrapper.on_ascii_only(ch);
5300
1.72k
        };
_ZZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlwE_clEw
Line
Count
Source
5298
2.16k
        const auto cb = [&](SourceCharT ch) {
5299
2.16k
            return cb_wrapper.on_ascii_only(ch);
5300
2.16k
        };
5301
5302
972
        if (is_inverted) {
5303
462
            auto it = read_until_code_unit(range, cb);
5304
462
            return check_nonempty(it, range);
5305
462
        }
5306
510
        auto it = read_while_code_unit(range, cb);
5307
510
        return check_nonempty(it, range);
5308
972
    }
Unexecuted instantiation: _ZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperE
Unexecuted instantiation: _ZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperE
_ZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperE
Line
Count
Source
5277
828
    {
5278
828
        const bool is_inverted = helper.specs.charset_is_inverted;
5279
828
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5280
5281
828
        SCN_TRY_DISCARD(helper.handle_nonascii());
5282
5283
828
        read_source_callback cb_wrapper{helper};
5284
5285
828
        if (accepts_nonascii) {
5286
450
            const auto cb = [&](char32_t cp) {
5287
450
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
450
            };
5289
5290
450
            if (is_inverted) {
5291
222
                auto it = read_until_code_point(range, cb);
5292
222
                return check_nonempty(it, range);
5293
222
            }
5294
228
            auto it = read_while_code_point(range, cb);
5295
228
            return check_nonempty(it, range);
5296
450
        }
5297
5298
378
        const auto cb = [&](SourceCharT ch) {
5299
378
            return cb_wrapper.on_ascii_only(ch);
5300
378
        };
5301
5302
378
        if (is_inverted) {
5303
174
            auto it = read_until_code_unit(range, cb);
5304
174
            return check_nonempty(it, range);
5305
174
        }
5306
204
        auto it = read_while_code_unit(range, cb);
5307
204
        return check_nonempty(it, range);
5308
378
    }
_ZNK3scn2v44impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperE
Line
Count
Source
5277
2.53k
    {
5278
2.53k
        const bool is_inverted = helper.specs.charset_is_inverted;
5279
2.53k
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5280
5281
2.53k
        SCN_TRY_DISCARD(helper.handle_nonascii());
5282
5283
2.53k
        read_source_callback cb_wrapper{helper};
5284
5285
2.53k
        if (accepts_nonascii) {
5286
2.32k
            const auto cb = [&](char32_t cp) {
5287
2.32k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
2.32k
            };
5289
5290
2.32k
            if (is_inverted) {
5291
216
                auto it = read_until_code_point(range, cb);
5292
216
                return check_nonempty(it, range);
5293
216
            }
5294
2.10k
            auto it = read_while_code_point(range, cb);
5295
2.10k
            return check_nonempty(it, range);
5296
2.32k
        }
5297
5298
210
        const auto cb = [&](SourceCharT ch) {
5299
210
            return cb_wrapper.on_ascii_only(ch);
5300
210
        };
5301
5302
210
        if (is_inverted) {
5303
96
            auto it = read_until_code_unit(range, cb);
5304
96
            return check_nonempty(it, range);
5305
96
        }
5306
114
        auto it = read_while_code_unit(range, cb);
5307
114
        return check_nonempty(it, range);
5308
210
    }
Unexecuted instantiation: _ZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperE
Unexecuted instantiation: _ZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperE
_ZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperE
Line
Count
Source
5277
546
    {
5278
546
        const bool is_inverted = helper.specs.charset_is_inverted;
5279
546
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5280
5281
546
        SCN_TRY_DISCARD(helper.handle_nonascii());
5282
5283
546
        read_source_callback cb_wrapper{helper};
5284
5285
546
        if (accepts_nonascii) {
5286
354
            const auto cb = [&](char32_t cp) {
5287
354
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
354
            };
5289
5290
354
            if (is_inverted) {
5291
204
                auto it = read_until_code_point(range, cb);
5292
204
                return check_nonempty(it, range);
5293
204
            }
5294
150
            auto it = read_while_code_point(range, cb);
5295
150
            return check_nonempty(it, range);
5296
354
        }
5297
5298
192
        const auto cb = [&](SourceCharT ch) {
5299
192
            return cb_wrapper.on_ascii_only(ch);
5300
192
        };
5301
5302
192
        if (is_inverted) {
5303
102
            auto it = read_until_code_unit(range, cb);
5304
102
            return check_nonempty(it, range);
5305
102
        }
5306
90
        auto it = read_while_code_unit(range, cb);
5307
90
        return check_nonempty(it, range);
5308
192
    }
_ZNK3scn2v44impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperE
Line
Count
Source
5277
594
    {
5278
594
        const bool is_inverted = helper.specs.charset_is_inverted;
5279
594
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5280
5281
594
        SCN_TRY_DISCARD(helper.handle_nonascii());
5282
5283
594
        read_source_callback cb_wrapper{helper};
5284
5285
594
        if (accepts_nonascii) {
5286
402
            const auto cb = [&](char32_t cp) {
5287
402
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5288
402
            };
5289
5290
402
            if (is_inverted) {
5291
210
                auto it = read_until_code_point(range, cb);
5292
210
                return check_nonempty(it, range);
5293
210
            }
5294
192
            auto it = read_while_code_point(range, cb);
5295
192
            return check_nonempty(it, range);
5296
402
        }
5297
5298
192
        const auto cb = [&](SourceCharT ch) {
5299
192
            return cb_wrapper.on_ascii_only(ch);
5300
192
        };
5301
5302
192
        if (is_inverted) {
5303
90
            auto it = read_until_code_unit(range, cb);
5304
90
            return check_nonempty(it, range);
5305
90
        }
5306
102
        auto it = read_while_code_unit(range, cb);
5307
102
        return check_nonempty(it, range);
5308
192
    }
5309
5310
    template <typename Iterator, typename Range>
5311
    static scan_expected<Iterator> check_nonempty(const Iterator& it,
5312
                                                  Range range)
5313
4.50k
    {
5314
4.50k
        if (it == range.begin()) {
5315
1.24k
            return detail::unexpected_scan_error(
5316
1.24k
                scan_error::invalid_scanned_value,
5317
1.24k
                "No characters matched in [character set]");
5318
1.24k
        }
5319
5320
3.25k
        return it;
5321
4.50k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > scn::v4::impl::character_set_reader_impl<char>::check_nonempty<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::character_set_reader_impl<char>::check_nonempty<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > scn::v4::impl::character_set_reader_impl<char>::check_nonempty<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
5313
828
    {
5314
828
        if (it == range.begin()) {
5315
24
            return detail::unexpected_scan_error(
5316
24
                scan_error::invalid_scanned_value,
5317
24
                "No characters matched in [character set]");
5318
24
        }
5319
5320
804
        return it;
5321
828
    }
scn::v4::scan_expected<char const*> scn::v4::impl::character_set_reader_impl<char>::check_nonempty<char const*, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(char const* const&, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
5313
2.53k
    {
5314
2.53k
        if (it == range.begin()) {
5315
1.14k
            return detail::unexpected_scan_error(
5316
1.14k
                scan_error::invalid_scanned_value,
5317
1.14k
                "No characters matched in [character set]");
5318
1.14k
        }
5319
5320
1.39k
        return it;
5321
2.53k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > scn::v4::impl::character_set_reader_impl<wchar_t>::check_nonempty<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::character_set_reader_impl<wchar_t>::check_nonempty<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>)
scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > scn::v4::impl::character_set_reader_impl<wchar_t>::check_nonempty<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
5313
546
    {
5314
546
        if (it == range.begin()) {
5315
30
            return detail::unexpected_scan_error(
5316
30
                scan_error::invalid_scanned_value,
5317
30
                "No characters matched in [character set]");
5318
30
        }
5319
5320
516
        return it;
5321
546
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::character_set_reader_impl<wchar_t>::check_nonempty<wchar_t const*, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(wchar_t const* const&, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
5313
594
    {
5314
594
        if (it == range.begin()) {
5315
54
            return detail::unexpected_scan_error(
5316
54
                scan_error::invalid_scanned_value,
5317
54
                "No characters matched in [character set]");
5318
54
        }
5319
5320
540
        return it;
5321
594
    }
5322
};
5323
5324
template <typename SourceCharT>
5325
class string_reader
5326
    : public reader_base<string_reader<SourceCharT>, SourceCharT> {
5327
public:
5328
14.1k
    constexpr string_reader() = default;
scn::v4::impl::string_reader<char>::string_reader()
Line
Count
Source
5328
9.01k
    constexpr string_reader() = default;
scn::v4::impl::string_reader<wchar_t>::string_reader()
Line
Count
Source
5328
5.15k
    constexpr string_reader() = default;
5329
5330
    void check_specs_impl(const detail::format_specs& specs,
5331
                          reader_error_handler& eh)
5332
10.7k
    {
5333
10.7k
        detail::check_string_type_specs(specs, eh);
5334
5335
10.7k
        SCN_GCC_COMPAT_PUSH
5336
10.7k
        SCN_GCC_COMPAT_IGNORE("-Wswitch")
5337
10.7k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-default")
5338
5339
10.7k
        switch (specs.type) {
5340
3.33k
            case detail::presentation_type::none:
5341
3.33k
                m_type = reader_type::word;
5342
3.33k
                break;
5343
5344
1.02k
            case detail::presentation_type::string: {
5345
1.02k
                if (specs.align == detail::align_type::left ||
5346
1.02k
                    specs.align == detail::align_type::center) {
5347
648
                    m_type = reader_type::custom_word;
5348
648
                }
5349
378
                else {
5350
378
                    m_type = reader_type::word;
5351
378
                }
5352
1.02k
                break;
5353
0
            }
5354
5355
276
            case detail::presentation_type::character:
5356
276
                m_type = reader_type::character;
5357
276
                break;
5358
5359
4.50k
            case detail::presentation_type::string_set:
5360
4.50k
                m_type = reader_type::character_set;
5361
4.50k
                break;
5362
5363
0
#if !SCN_DISABLE_REGEX
5364
102
            case detail::presentation_type::regex:
5365
102
                m_type = reader_type::regex;
5366
102
                break;
5367
5368
456
            case detail::presentation_type::regex_escaped:
5369
456
                m_type = reader_type::regex_escaped;
5370
456
                break;
5371
10.7k
#endif
5372
10.7k
        }
5373
5374
10.7k
        SCN_GCC_COMPAT_POP
5375
10.7k
    }
scn::v4::impl::string_reader<char>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
5332
7.08k
    {
5333
7.08k
        detail::check_string_type_specs(specs, eh);
5334
5335
7.08k
        SCN_GCC_COMPAT_PUSH
5336
7.08k
        SCN_GCC_COMPAT_IGNORE("-Wswitch")
5337
7.08k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-default")
5338
5339
7.08k
        switch (specs.type) {
5340
1.79k
            case detail::presentation_type::none:
5341
1.79k
                m_type = reader_type::word;
5342
1.79k
                break;
5343
5344
744
            case detail::presentation_type::string: {
5345
744
                if (specs.align == detail::align_type::left ||
5346
744
                    specs.align == detail::align_type::center) {
5347
462
                    m_type = reader_type::custom_word;
5348
462
                }
5349
282
                else {
5350
282
                    m_type = reader_type::word;
5351
282
                }
5352
744
                break;
5353
0
            }
5354
5355
186
            case detail::presentation_type::character:
5356
186
                m_type = reader_type::character;
5357
186
                break;
5358
5359
3.36k
            case detail::presentation_type::string_set:
5360
3.36k
                m_type = reader_type::character_set;
5361
3.36k
                break;
5362
5363
0
#if !SCN_DISABLE_REGEX
5364
102
            case detail::presentation_type::regex:
5365
102
                m_type = reader_type::regex;
5366
102
                break;
5367
5368
456
            case detail::presentation_type::regex_escaped:
5369
456
                m_type = reader_type::regex_escaped;
5370
456
                break;
5371
7.08k
#endif
5372
7.08k
        }
5373
5374
7.08k
        SCN_GCC_COMPAT_POP
5375
7.08k
    }
scn::v4::impl::string_reader<wchar_t>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
5332
3.68k
    {
5333
3.68k
        detail::check_string_type_specs(specs, eh);
5334
5335
3.68k
        SCN_GCC_COMPAT_PUSH
5336
3.68k
        SCN_GCC_COMPAT_IGNORE("-Wswitch")
5337
3.68k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-default")
5338
5339
3.68k
        switch (specs.type) {
5340
1.53k
            case detail::presentation_type::none:
5341
1.53k
                m_type = reader_type::word;
5342
1.53k
                break;
5343
5344
282
            case detail::presentation_type::string: {
5345
282
                if (specs.align == detail::align_type::left ||
5346
282
                    specs.align == detail::align_type::center) {
5347
186
                    m_type = reader_type::custom_word;
5348
186
                }
5349
96
                else {
5350
96
                    m_type = reader_type::word;
5351
96
                }
5352
282
                break;
5353
0
            }
5354
5355
90
            case detail::presentation_type::character:
5356
90
                m_type = reader_type::character;
5357
90
                break;
5358
5359
1.14k
            case detail::presentation_type::string_set:
5360
1.14k
                m_type = reader_type::character_set;
5361
1.14k
                break;
5362
5363
0
#if !SCN_DISABLE_REGEX
5364
0
            case detail::presentation_type::regex:
5365
0
                m_type = reader_type::regex;
5366
0
                break;
5367
5368
0
            case detail::presentation_type::regex_escaped:
5369
0
                m_type = reader_type::regex_escaped;
5370
0
                break;
5371
3.68k
#endif
5372
3.68k
        }
5373
5374
3.68k
        SCN_GCC_COMPAT_POP
5375
3.68k
    }
5376
5377
    bool skip_ws_before_read() const
5378
17.2k
    {
5379
17.2k
        return m_type == reader_type::word;
5380
17.2k
    }
scn::v4::impl::string_reader<char>::skip_ws_before_read() const
Line
Count
Source
5378
11.2k
    {
5379
11.2k
        return m_type == reader_type::word;
5380
11.2k
    }
scn::v4::impl::string_reader<wchar_t>::skip_ws_before_read() const
Line
Count
Source
5378
6.04k
    {
5379
6.04k
        return m_type == reader_type::word;
5380
6.04k
    }
5381
5382
    template <typename Range, typename Value>
5383
    auto read_default(Range range, Value& value, detail::locale_ref loc)
5384
        -> scan_expected<ranges::const_iterator_t<Range>>
5385
3.40k
    {
5386
3.40k
        SCN_UNUSED(loc);
5387
3.40k
        return word_reader_impl<SourceCharT>{}.read(range, value);
5388
3.40k
    }
_ZN3scn2v44impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5385
644
    {
5386
644
        SCN_UNUSED(loc);
5387
644
        return word_reader_impl<SourceCharT>{}.read(range, value);
5388
644
    }
_ZN3scn2v44impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5385
644
    {
5386
644
        SCN_UNUSED(loc);
5387
644
        return word_reader_impl<SourceCharT>{}.read(range, value);
5388
644
    }
_ZN3scn2v44impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refE
Line
Count
Source
5385
644
    {
5386
644
        SCN_UNUSED(loc);
5387
644
        return word_reader_impl<SourceCharT>{}.read(range, value);
5388
644
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RT0_NS9_10locale_refE
_ZN3scn2v44impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5385
490
    {
5386
490
        SCN_UNUSED(loc);
5387
490
        return word_reader_impl<SourceCharT>{}.read(range, value);
5388
490
    }
_ZN3scn2v44impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5385
490
    {
5386
490
        SCN_UNUSED(loc);
5387
490
        return word_reader_impl<SourceCharT>{}.read(range, value);
5388
490
    }
_ZN3scn2v44impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refE
Line
Count
Source
5385
490
    {
5386
490
        SCN_UNUSED(loc);
5387
490
        return word_reader_impl<SourceCharT>{}.read(range, value);
5388
490
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RT0_NS9_10locale_refE
5389
5390
    template <typename Range, typename Value>
5391
    auto read_specs(Range range,
5392
                    const detail::format_specs& specs,
5393
                    Value& value,
5394
                    detail::locale_ref loc)
5395
        -> scan_expected<ranges::const_iterator_t<Range>>
5396
9.52k
    {
5397
9.52k
        SCN_UNUSED(loc);
5398
9.52k
        return read_impl(range, specs, value);
5399
9.52k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5396
806
    {
5397
806
        SCN_UNUSED(loc);
5398
806
        return read_impl(range, specs, value);
5399
806
    }
_ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5396
1.37k
    {
5397
1.37k
        SCN_UNUSED(loc);
5398
1.37k
        return read_impl(range, specs, value);
5399
1.37k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5396
806
    {
5397
806
        SCN_UNUSED(loc);
5398
806
        return read_impl(range, specs, value);
5399
806
    }
_ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5396
1.37k
    {
5397
1.37k
        SCN_UNUSED(loc);
5398
1.37k
        return read_impl(range, specs, value);
5399
1.37k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5396
806
    {
5397
806
        SCN_UNUSED(loc);
5398
806
        return read_impl(range, specs, value);
5399
806
    }
_ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Line
Count
Source
5396
1.37k
    {
5397
1.37k
        SCN_UNUSED(loc);
5398
1.37k
        return read_impl(range, specs, value);
5399
1.37k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5396
386
    {
5397
386
        SCN_UNUSED(loc);
5398
386
        return read_impl(range, specs, value);
5399
386
    }
_ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5396
612
    {
5397
612
        SCN_UNUSED(loc);
5398
612
        return read_impl(range, specs, value);
5399
612
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5396
386
    {
5397
386
        SCN_UNUSED(loc);
5398
386
        return read_impl(range, specs, value);
5399
386
    }
_ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5396
612
    {
5397
612
        SCN_UNUSED(loc);
5398
612
        return read_impl(range, specs, value);
5399
612
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v44impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5396
386
    {
5397
386
        SCN_UNUSED(loc);
5398
386
        return read_impl(range, specs, value);
5399
386
    }
_ZN3scn2v44impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Line
Count
Source
5396
612
    {
5397
612
        SCN_UNUSED(loc);
5398
612
        return read_impl(range, specs, value);
5399
612
    }
5400
5401
protected:
5402
    enum class reader_type {
5403
        word,
5404
        custom_word,
5405
        character,
5406
        character_set,
5407
#if !SCN_DISABLE_REGEX
5408
        regex,
5409
        regex_escaped,
5410
#endif
5411
    };
5412
5413
    template <typename Range, typename Value>
5414
    auto read_impl(Range range, const detail::format_specs& specs, Value& value)
5415
        -> scan_expected<ranges::const_iterator_t<Range>>
5416
9.52k
    {
5417
9.52k
        SCN_CLANG_PUSH
5418
9.52k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
9.52k
        switch (m_type) {
5421
3.57k
            case reader_type::word:
5422
3.57k
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
636
            case reader_type::custom_word:
5425
636
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
636
                                                                   value);
5427
5428
252
            case reader_type::character:
5429
252
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
4.50k
            case reader_type::character_set:
5432
4.50k
                return character_set_reader_impl<SourceCharT>{}.read(
5433
4.50k
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
102
            case reader_type::regex:
5437
102
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
102
                    range, specs.charset_string<SourceCharT>(),
5439
102
                    specs.regexp_flags, value);
5440
5441
456
            case reader_type::regex_escaped:
5442
456
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
456
                    range,
5444
456
                    get_unescaped_regex_pattern(
5445
456
                        specs.charset_string<SourceCharT>()),
5446
456
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
9.52k
                SCN_UNREACHABLE;
5452
9.52k
        }
5453
5454
9.52k
        SCN_CLANG_POP
5455
9.52k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
_ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
806
    {
5417
806
        SCN_CLANG_PUSH
5418
806
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
806
        switch (m_type) {
5421
318
            case reader_type::word:
5422
318
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
100
            case reader_type::custom_word:
5425
100
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
100
                                                                   value);
5427
5428
58
            case reader_type::character:
5429
58
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
276
            case reader_type::character_set:
5432
276
                return character_set_reader_impl<SourceCharT>{}.read(
5433
276
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
2
            case reader_type::regex:
5437
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
2
                    range, specs.charset_string<SourceCharT>(),
5439
2
                    specs.regexp_flags, value);
5440
5441
52
            case reader_type::regex_escaped:
5442
52
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
52
                    range,
5444
52
                    get_unescaped_regex_pattern(
5445
52
                        specs.charset_string<SourceCharT>()),
5446
52
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
806
                SCN_UNREACHABLE;
5452
806
        }
5453
5454
806
        SCN_CLANG_POP
5455
806
    }
_ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
1.37k
    {
5417
1.37k
        SCN_CLANG_PUSH
5418
1.37k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
1.37k
        switch (m_type) {
5421
342
            case reader_type::word:
5422
342
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
52
            case reader_type::custom_word:
5425
52
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
52
                                                                   value);
5427
5428
0
            case reader_type::character:
5429
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
844
            case reader_type::character_set:
5432
844
                return character_set_reader_impl<SourceCharT>{}.read(
5433
844
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
32
            case reader_type::regex:
5437
32
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
32
                    range, specs.charset_string<SourceCharT>(),
5439
32
                    specs.regexp_flags, value);
5440
5441
100
            case reader_type::regex_escaped:
5442
100
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
100
                    range,
5444
100
                    get_unescaped_regex_pattern(
5445
100
                        specs.charset_string<SourceCharT>()),
5446
100
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
1.37k
                SCN_UNREACHABLE;
5452
1.37k
        }
5453
5454
1.37k
        SCN_CLANG_POP
5455
1.37k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
_ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
806
    {
5417
806
        SCN_CLANG_PUSH
5418
806
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
806
        switch (m_type) {
5421
318
            case reader_type::word:
5422
318
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
100
            case reader_type::custom_word:
5425
100
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
100
                                                                   value);
5427
5428
58
            case reader_type::character:
5429
58
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
276
            case reader_type::character_set:
5432
276
                return character_set_reader_impl<SourceCharT>{}.read(
5433
276
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
2
            case reader_type::regex:
5437
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
2
                    range, specs.charset_string<SourceCharT>(),
5439
2
                    specs.regexp_flags, value);
5440
5441
52
            case reader_type::regex_escaped:
5442
52
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
52
                    range,
5444
52
                    get_unescaped_regex_pattern(
5445
52
                        specs.charset_string<SourceCharT>()),
5446
52
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
806
                SCN_UNREACHABLE;
5452
806
        }
5453
5454
806
        SCN_CLANG_POP
5455
806
    }
_ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
1.37k
    {
5417
1.37k
        SCN_CLANG_PUSH
5418
1.37k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
1.37k
        switch (m_type) {
5421
342
            case reader_type::word:
5422
342
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
52
            case reader_type::custom_word:
5425
52
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
52
                                                                   value);
5427
5428
0
            case reader_type::character:
5429
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
844
            case reader_type::character_set:
5432
844
                return character_set_reader_impl<SourceCharT>{}.read(
5433
844
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
32
            case reader_type::regex:
5437
32
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
32
                    range, specs.charset_string<SourceCharT>(),
5439
32
                    specs.regexp_flags, value);
5440
5441
100
            case reader_type::regex_escaped:
5442
100
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
100
                    range,
5444
100
                    get_unescaped_regex_pattern(
5445
100
                        specs.charset_string<SourceCharT>()),
5446
100
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
1.37k
                SCN_UNREACHABLE;
5452
1.37k
        }
5453
5454
1.37k
        SCN_CLANG_POP
5455
1.37k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
_ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
806
    {
5417
806
        SCN_CLANG_PUSH
5418
806
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
806
        switch (m_type) {
5421
318
            case reader_type::word:
5422
318
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
100
            case reader_type::custom_word:
5425
100
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
100
                                                                   value);
5427
5428
58
            case reader_type::character:
5429
58
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
276
            case reader_type::character_set:
5432
276
                return character_set_reader_impl<SourceCharT>{}.read(
5433
276
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
2
            case reader_type::regex:
5437
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
2
                    range, specs.charset_string<SourceCharT>(),
5439
2
                    specs.regexp_flags, value);
5440
5441
52
            case reader_type::regex_escaped:
5442
52
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
52
                    range,
5444
52
                    get_unescaped_regex_pattern(
5445
52
                        specs.charset_string<SourceCharT>()),
5446
52
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
806
                SCN_UNREACHABLE;
5452
806
        }
5453
5454
806
        SCN_CLANG_POP
5455
806
    }
_ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
1.37k
    {
5417
1.37k
        SCN_CLANG_PUSH
5418
1.37k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
1.37k
        switch (m_type) {
5421
342
            case reader_type::word:
5422
342
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
52
            case reader_type::custom_word:
5425
52
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
52
                                                                   value);
5427
5428
0
            case reader_type::character:
5429
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
844
            case reader_type::character_set:
5432
844
                return character_set_reader_impl<SourceCharT>{}.read(
5433
844
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
32
            case reader_type::regex:
5437
32
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
32
                    range, specs.charset_string<SourceCharT>(),
5439
32
                    specs.regexp_flags, value);
5440
5441
100
            case reader_type::regex_escaped:
5442
100
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
100
                    range,
5444
100
                    get_unescaped_regex_pattern(
5445
100
                        specs.charset_string<SourceCharT>()),
5446
100
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
1.37k
                SCN_UNREACHABLE;
5452
1.37k
        }
5453
5454
1.37k
        SCN_CLANG_POP
5455
1.37k
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
_ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
386
    {
5417
386
        SCN_CLANG_PUSH
5418
386
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
386
        switch (m_type) {
5421
150
            case reader_type::word:
5422
150
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
28
            case reader_type::custom_word:
5425
28
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
28
                                                                   value);
5427
5428
26
            case reader_type::character:
5429
26
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
182
            case reader_type::character_set:
5432
182
                return character_set_reader_impl<SourceCharT>{}.read(
5433
182
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
0
            case reader_type::regex:
5437
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
0
                    range, specs.charset_string<SourceCharT>(),
5439
0
                    specs.regexp_flags, value);
5440
5441
0
            case reader_type::regex_escaped:
5442
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
0
                    range,
5444
0
                    get_unescaped_regex_pattern(
5445
0
                        specs.charset_string<SourceCharT>()),
5446
0
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
386
                SCN_UNREACHABLE;
5452
386
        }
5453
5454
386
        SCN_CLANG_POP
5455
386
    }
_ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
612
    {
5417
612
        SCN_CLANG_PUSH
5418
612
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
612
        switch (m_type) {
5421
382
            case reader_type::word:
5422
382
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
32
            case reader_type::custom_word:
5425
32
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
32
                                                                   value);
5427
5428
0
            case reader_type::character:
5429
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
198
            case reader_type::character_set:
5432
198
                return character_set_reader_impl<SourceCharT>{}.read(
5433
198
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
0
            case reader_type::regex:
5437
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
0
                    range, specs.charset_string<SourceCharT>(),
5439
0
                    specs.regexp_flags, value);
5440
5441
0
            case reader_type::regex_escaped:
5442
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
0
                    range,
5444
0
                    get_unescaped_regex_pattern(
5445
0
                        specs.charset_string<SourceCharT>()),
5446
0
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
612
                SCN_UNREACHABLE;
5452
612
        }
5453
5454
612
        SCN_CLANG_POP
5455
612
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
_ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
386
    {
5417
386
        SCN_CLANG_PUSH
5418
386
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
386
        switch (m_type) {
5421
150
            case reader_type::word:
5422
150
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
28
            case reader_type::custom_word:
5425
28
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
28
                                                                   value);
5427
5428
26
            case reader_type::character:
5429
26
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
182
            case reader_type::character_set:
5432
182
                return character_set_reader_impl<SourceCharT>{}.read(
5433
182
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
0
            case reader_type::regex:
5437
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
0
                    range, specs.charset_string<SourceCharT>(),
5439
0
                    specs.regexp_flags, value);
5440
5441
0
            case reader_type::regex_escaped:
5442
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
0
                    range,
5444
0
                    get_unescaped_regex_pattern(
5445
0
                        specs.charset_string<SourceCharT>()),
5446
0
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
386
                SCN_UNREACHABLE;
5452
386
        }
5453
5454
386
        SCN_CLANG_POP
5455
386
    }
_ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
612
    {
5417
612
        SCN_CLANG_PUSH
5418
612
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
612
        switch (m_type) {
5421
382
            case reader_type::word:
5422
382
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
32
            case reader_type::custom_word:
5425
32
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
32
                                                                   value);
5427
5428
0
            case reader_type::character:
5429
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
198
            case reader_type::character_set:
5432
198
                return character_set_reader_impl<SourceCharT>{}.read(
5433
198
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
0
            case reader_type::regex:
5437
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
0
                    range, specs.charset_string<SourceCharT>(),
5439
0
                    specs.regexp_flags, value);
5440
5441
0
            case reader_type::regex_escaped:
5442
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
0
                    range,
5444
0
                    get_unescaped_regex_pattern(
5445
0
                        specs.charset_string<SourceCharT>()),
5446
0
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
612
                SCN_UNREACHABLE;
5452
612
        }
5453
5454
612
        SCN_CLANG_POP
5455
612
    }
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
_ZN3scn2v44impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
386
    {
5417
386
        SCN_CLANG_PUSH
5418
386
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
386
        switch (m_type) {
5421
150
            case reader_type::word:
5422
150
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
28
            case reader_type::custom_word:
5425
28
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
28
                                                                   value);
5427
5428
26
            case reader_type::character:
5429
26
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
182
            case reader_type::character_set:
5432
182
                return character_set_reader_impl<SourceCharT>{}.read(
5433
182
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
0
            case reader_type::regex:
5437
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
0
                    range, specs.charset_string<SourceCharT>(),
5439
0
                    specs.regexp_flags, value);
5440
5441
0
            case reader_type::regex_escaped:
5442
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
0
                    range,
5444
0
                    get_unescaped_regex_pattern(
5445
0
                        specs.charset_string<SourceCharT>()),
5446
0
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
386
                SCN_UNREACHABLE;
5452
386
        }
5453
5454
386
        SCN_CLANG_POP
5455
386
    }
_ZN3scn2v44impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5416
612
    {
5417
612
        SCN_CLANG_PUSH
5418
612
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5419
5420
612
        switch (m_type) {
5421
382
            case reader_type::word:
5422
382
                return word_reader_impl<SourceCharT>{}.read(range, value);
5423
5424
32
            case reader_type::custom_word:
5425
32
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5426
32
                                                                   value);
5427
5428
0
            case reader_type::character:
5429
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5430
5431
198
            case reader_type::character_set:
5432
198
                return character_set_reader_impl<SourceCharT>{}.read(
5433
198
                    range, specs, value);
5434
5435
0
#if !SCN_DISABLE_REGEX
5436
0
            case reader_type::regex:
5437
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5438
0
                    range, specs.charset_string<SourceCharT>(),
5439
0
                    specs.regexp_flags, value);
5440
5441
0
            case reader_type::regex_escaped:
5442
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5443
0
                    range,
5444
0
                    get_unescaped_regex_pattern(
5445
0
                        specs.charset_string<SourceCharT>()),
5446
0
                    specs.regexp_flags, value);
5447
0
#endif
5448
5449
0
            default:
5450
0
                SCN_EXPECT(false);
5451
612
                SCN_UNREACHABLE;
5452
612
        }
5453
5454
612
        SCN_CLANG_POP
5455
612
    }
5456
5457
    reader_type m_type{reader_type::word};
5458
};
5459
5460
template <typename SourceCharT>
5461
class reader_impl_for_string : public string_reader<SourceCharT> {};
5462
5463
/////////////////////////////////////////////////////////////////
5464
// Boolean reader
5465
/////////////////////////////////////////////////////////////////
5466
5467
struct bool_reader_base {
5468
    enum options_type { allow_text = 1, allow_numeric = 2 };
5469
5470
1.13k
    constexpr bool_reader_base() = default;
5471
1.63k
    constexpr bool_reader_base(unsigned opt) : m_options(opt) {}
5472
5473
    template <typename Range>
5474
    auto read_classic(Range range, bool& value) const
5475
        -> scan_expected<ranges::const_iterator_t<Range>>
5476
2.67k
    {
5477
2.67k
        scan_error err{scan_error::invalid_scanned_value,
5478
2.67k
                       "Failed to read boolean"};
5479
5480
2.67k
        if (m_options & allow_numeric) {
5481
2.34k
            if (auto r = read_numeric(range, value)) {
5482
66
                return *r;
5483
66
            }
5484
2.27k
            else {
5485
2.27k
                err = r.error();
5486
2.27k
            }
5487
2.34k
        }
5488
5489
2.60k
        if (m_options & allow_text) {
5490
2.49k
            if (auto r = read_textual_classic(range, value)) {
5491
0
                return *r;
5492
0
            }
5493
2.49k
            else {
5494
2.49k
                err = r.error();
5495
2.49k
            }
5496
2.49k
        }
5497
5498
2.60k
        return unexpected(err);
5499
2.60k
    }
_ZNK3scn2v44impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5476
1.06k
    {
5477
1.06k
        scan_error err{scan_error::invalid_scanned_value,
5478
1.06k
                       "Failed to read boolean"};
5479
5480
1.06k
        if (m_options & allow_numeric) {
5481
932
            if (auto r = read_numeric(range, value)) {
5482
0
                return *r;
5483
0
            }
5484
932
            else {
5485
932
                err = r.error();
5486
932
            }
5487
932
        }
5488
5489
1.06k
        if (m_options & allow_text) {
5490
1.03k
            if (auto r = read_textual_classic(range, value)) {
5491
0
                return *r;
5492
0
            }
5493
1.03k
            else {
5494
1.03k
                err = r.error();
5495
1.03k
            }
5496
1.03k
        }
5497
5498
1.06k
        return unexpected(err);
5499
1.06k
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
_ZNK3scn2v44impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5476
446
    {
5477
446
        scan_error err{scan_error::invalid_scanned_value,
5478
446
                       "Failed to read boolean"};
5479
5480
446
        if (m_options & allow_numeric) {
5481
332
            if (auto r = read_numeric(range, value)) {
5482
0
                return *r;
5483
0
            }
5484
332
            else {
5485
332
                err = r.error();
5486
332
            }
5487
332
        }
5488
5489
446
        if (m_options & allow_text) {
5490
418
            if (auto r = read_textual_classic(range, value)) {
5491
0
                return *r;
5492
0
            }
5493
418
            else {
5494
418
                err = r.error();
5495
418
            }
5496
418
        }
5497
5498
446
        return unexpected(err);
5499
446
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
_ZNK3scn2v44impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5476
952
    {
5477
952
        scan_error err{scan_error::invalid_scanned_value,
5478
952
                       "Failed to read boolean"};
5479
5480
952
        if (m_options & allow_numeric) {
5481
900
            if (auto r = read_numeric(range, value)) {
5482
46
                return *r;
5483
46
            }
5484
854
            else {
5485
854
                err = r.error();
5486
854
            }
5487
900
        }
5488
5489
906
        if (m_options & allow_text) {
5490
866
            if (auto r = read_textual_classic(range, value)) {
5491
0
                return *r;
5492
0
            }
5493
866
            else {
5494
866
                err = r.error();
5495
866
            }
5496
866
        }
5497
5498
906
        return unexpected(err);
5499
906
    }
_ZNK3scn2v44impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5476
214
    {
5477
214
        scan_error err{scan_error::invalid_scanned_value,
5478
214
                       "Failed to read boolean"};
5479
5480
214
        if (m_options & allow_numeric) {
5481
176
            if (auto r = read_numeric(range, value)) {
5482
20
                return *r;
5483
20
            }
5484
156
            else {
5485
156
                err = r.error();
5486
156
            }
5487
176
        }
5488
5489
194
        if (m_options & allow_text) {
5490
170
            if (auto r = read_textual_classic(range, value)) {
5491
0
                return *r;
5492
0
            }
5493
170
            else {
5494
170
                err = r.error();
5495
170
            }
5496
170
        }
5497
5498
194
        return unexpected(err);
5499
194
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
5500
5501
protected:
5502
    template <typename Range>
5503
    auto read_numeric(Range range, bool& value) const
5504
        -> scan_expected<ranges::const_iterator_t<Range>>
5505
2.42k
    {
5506
2.42k
        if (auto r = read_matching_code_unit(range, '0')) {
5507
76
            value = false;
5508
76
            return *r;
5509
76
        }
5510
2.34k
        if (auto r = read_matching_code_unit(range, '1')) {
5511
0
            value = true;
5512
0
            return *r;
5513
0
        }
5514
5515
2.34k
        return detail::unexpected_scan_error(
5516
2.34k
            scan_error::invalid_scanned_value,
5517
2.34k
            "Failed to read numeric boolean value: No match");
5518
2.34k
    }
_ZNK3scn2v44impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5505
946
    {
5506
946
        if (auto r = read_matching_code_unit(range, '0')) {
5507
0
            value = false;
5508
0
            return *r;
5509
0
        }
5510
946
        if (auto r = read_matching_code_unit(range, '1')) {
5511
0
            value = true;
5512
0
            return *r;
5513
0
        }
5514
5515
946
        return detail::unexpected_scan_error(
5516
946
            scan_error::invalid_scanned_value,
5517
946
            "Failed to read numeric boolean value: No match");
5518
946
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
_ZNK3scn2v44impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5505
348
    {
5506
348
        if (auto r = read_matching_code_unit(range, '0')) {
5507
0
            value = false;
5508
0
            return *r;
5509
0
        }
5510
348
        if (auto r = read_matching_code_unit(range, '1')) {
5511
0
            value = true;
5512
0
            return *r;
5513
0
        }
5514
5515
348
        return detail::unexpected_scan_error(
5516
348
            scan_error::invalid_scanned_value,
5517
348
            "Failed to read numeric boolean value: No match");
5518
348
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
_ZNK3scn2v44impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5505
928
    {
5506
928
        if (auto r = read_matching_code_unit(range, '0')) {
5507
52
            value = false;
5508
52
            return *r;
5509
52
        }
5510
876
        if (auto r = read_matching_code_unit(range, '1')) {
5511
0
            value = true;
5512
0
            return *r;
5513
0
        }
5514
5515
876
        return detail::unexpected_scan_error(
5516
876
            scan_error::invalid_scanned_value,
5517
876
            "Failed to read numeric boolean value: No match");
5518
876
    }
_ZNK3scn2v44impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5505
202
    {
5506
202
        if (auto r = read_matching_code_unit(range, '0')) {
5507
24
            value = false;
5508
24
            return *r;
5509
24
        }
5510
178
        if (auto r = read_matching_code_unit(range, '1')) {
5511
0
            value = true;
5512
0
            return *r;
5513
0
        }
5514
5515
178
        return detail::unexpected_scan_error(
5516
178
            scan_error::invalid_scanned_value,
5517
178
            "Failed to read numeric boolean value: No match");
5518
178
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
5519
5520
    template <typename Range>
5521
    auto read_textual_classic(Range range, bool& value) const
5522
        -> scan_expected<ranges::const_iterator_t<Range>>
5523
2.49k
    {
5524
2.49k
        if (auto r = read_matching_string_classic(range, "true")) {
5525
0
            value = true;
5526
0
            return *r;
5527
0
        }
5528
2.49k
        if (auto r = read_matching_string_classic(range, "false")) {
5529
0
            value = false;
5530
0
            return *r;
5531
0
        }
5532
5533
2.49k
        return detail::unexpected_scan_error(
5534
2.49k
            scan_error::invalid_scanned_value,
5535
2.49k
            "Failed to read textual boolean value: No match");
5536
2.49k
    }
_ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5523
1.03k
    {
5524
1.03k
        if (auto r = read_matching_string_classic(range, "true")) {
5525
0
            value = true;
5526
0
            return *r;
5527
0
        }
5528
1.03k
        if (auto r = read_matching_string_classic(range, "false")) {
5529
0
            value = false;
5530
0
            return *r;
5531
0
        }
5532
5533
1.03k
        return detail::unexpected_scan_error(
5534
1.03k
            scan_error::invalid_scanned_value,
5535
1.03k
            "Failed to read textual boolean value: No match");
5536
1.03k
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
_ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5523
418
    {
5524
418
        if (auto r = read_matching_string_classic(range, "true")) {
5525
0
            value = true;
5526
0
            return *r;
5527
0
        }
5528
418
        if (auto r = read_matching_string_classic(range, "false")) {
5529
0
            value = false;
5530
0
            return *r;
5531
0
        }
5532
5533
418
        return detail::unexpected_scan_error(
5534
418
            scan_error::invalid_scanned_value,
5535
418
            "Failed to read textual boolean value: No match");
5536
418
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
_ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5523
866
    {
5524
866
        if (auto r = read_matching_string_classic(range, "true")) {
5525
0
            value = true;
5526
0
            return *r;
5527
0
        }
5528
866
        if (auto r = read_matching_string_classic(range, "false")) {
5529
0
            value = false;
5530
0
            return *r;
5531
0
        }
5532
5533
866
        return detail::unexpected_scan_error(
5534
866
            scan_error::invalid_scanned_value,
5535
866
            "Failed to read textual boolean value: No match");
5536
866
    }
_ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5523
170
    {
5524
170
        if (auto r = read_matching_string_classic(range, "true")) {
5525
0
            value = true;
5526
0
            return *r;
5527
0
        }
5528
170
        if (auto r = read_matching_string_classic(range, "false")) {
5529
0
            value = false;
5530
0
            return *r;
5531
0
        }
5532
5533
170
        return detail::unexpected_scan_error(
5534
170
            scan_error::invalid_scanned_value,
5535
170
            "Failed to read textual boolean value: No match");
5536
170
    }
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
Unexecuted instantiation: _ZNK3scn2v44impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
5537
5538
    unsigned m_options{allow_text | allow_numeric};
5539
};
5540
5541
template <typename CharT>
5542
struct bool_reader : public bool_reader_base {
5543
    using bool_reader_base::bool_reader_base;
5544
5545
#if !SCN_DISABLE_LOCALE
5546
    template <typename Range>
5547
    auto read_localized(Range range, detail::locale_ref loc, bool& value) const
5548
        -> scan_expected<ranges::const_iterator_t<Range>>
5549
94
    {
5550
94
        scan_error err{scan_error::invalid_scanned_value,
5551
94
                       "Failed to read boolean"};
5552
5553
94
        if (m_options & allow_numeric) {
5554
84
            if (auto r = read_numeric(range, value)) {
5555
10
                return *r;
5556
10
            }
5557
74
            else {
5558
74
                err = r.error();
5559
74
            }
5560
84
        }
5561
5562
84
        if (m_options & allow_text) {
5563
48
            auto stdloc = loc.get<std::locale>();
5564
48
            const auto& numpunct =
5565
48
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5566
48
            const auto truename = numpunct.truename();
5567
48
            const auto falsename = numpunct.falsename();
5568
5569
48
            if (auto r =
5570
48
                    read_textual_custom(range, value, truename, falsename)) {
5571
0
                return *r;
5572
0
            }
5573
48
            else {
5574
48
                err = r.error();
5575
48
            }
5576
48
        }
5577
5578
84
        return unexpected(err);
5579
84
    }
_ZNK3scn2v44impl11bool_readerIcE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refERb
Line
Count
Source
5549
18
    {
5550
18
        scan_error err{scan_error::invalid_scanned_value,
5551
18
                       "Failed to read boolean"};
5552
5553
18
        if (m_options & allow_numeric) {
5554
16
            if (auto r = read_numeric(range, value)) {
5555
0
                return *r;
5556
0
            }
5557
16
            else {
5558
16
                err = r.error();
5559
16
            }
5560
16
        }
5561
5562
18
        if (m_options & allow_text) {
5563
14
            auto stdloc = loc.get<std::locale>();
5564
14
            const auto& numpunct =
5565
14
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5566
14
            const auto truename = numpunct.truename();
5567
14
            const auto falsename = numpunct.falsename();
5568
5569
14
            if (auto r =
5570
14
                    read_textual_custom(range, value, truename, falsename)) {
5571
0
                return *r;
5572
0
            }
5573
14
            else {
5574
14
                err = r.error();
5575
14
            }
5576
14
        }
5577
5578
18
        return unexpected(err);
5579
18
    }
_ZNK3scn2v44impl11bool_readerIcE14read_localizedINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refERb
Line
Count
Source
5549
18
    {
5550
18
        scan_error err{scan_error::invalid_scanned_value,
5551
18
                       "Failed to read boolean"};
5552
5553
18
        if (m_options & allow_numeric) {
5554
14
            if (auto r = read_numeric(range, value)) {
5555
0
                return *r;
5556
0
            }
5557
14
            else {
5558
14
                err = r.error();
5559
14
            }
5560
14
        }
5561
5562
18
        if (m_options & allow_text) {
5563
8
            auto stdloc = loc.get<std::locale>();
5564
8
            const auto& numpunct =
5565
8
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5566
8
            const auto truename = numpunct.truename();
5567
8
            const auto falsename = numpunct.falsename();
5568
5569
8
            if (auto r =
5570
8
                    read_textual_custom(range, value, truename, falsename)) {
5571
0
                return *r;
5572
0
            }
5573
8
            else {
5574
8
                err = r.error();
5575
8
            }
5576
8
        }
5577
5578
18
        return unexpected(err);
5579
18
    }
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIcE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refERb
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIcE14read_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refERb
_ZNK3scn2v44impl11bool_readerIwE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refERb
Line
Count
Source
5549
28
    {
5550
28
        scan_error err{scan_error::invalid_scanned_value,
5551
28
                       "Failed to read boolean"};
5552
5553
28
        if (m_options & allow_numeric) {
5554
26
            if (auto r = read_numeric(range, value)) {
5555
4
                return *r;
5556
4
            }
5557
22
            else {
5558
22
                err = r.error();
5559
22
            }
5560
26
        }
5561
5562
24
        if (m_options & allow_text) {
5563
14
            auto stdloc = loc.get<std::locale>();
5564
14
            const auto& numpunct =
5565
14
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5566
14
            const auto truename = numpunct.truename();
5567
14
            const auto falsename = numpunct.falsename();
5568
5569
14
            if (auto r =
5570
14
                    read_textual_custom(range, value, truename, falsename)) {
5571
0
                return *r;
5572
0
            }
5573
14
            else {
5574
14
                err = r.error();
5575
14
            }
5576
14
        }
5577
5578
24
        return unexpected(err);
5579
24
    }
_ZNK3scn2v44impl11bool_readerIwE14read_localizedINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refERb
Line
Count
Source
5549
30
    {
5550
30
        scan_error err{scan_error::invalid_scanned_value,
5551
30
                       "Failed to read boolean"};
5552
5553
30
        if (m_options & allow_numeric) {
5554
28
            if (auto r = read_numeric(range, value)) {
5555
6
                return *r;
5556
6
            }
5557
22
            else {
5558
22
                err = r.error();
5559
22
            }
5560
28
        }
5561
5562
24
        if (m_options & allow_text) {
5563
12
            auto stdloc = loc.get<std::locale>();
5564
12
            const auto& numpunct =
5565
12
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5566
12
            const auto truename = numpunct.truename();
5567
12
            const auto falsename = numpunct.falsename();
5568
5569
12
            if (auto r =
5570
12
                    read_textual_custom(range, value, truename, falsename)) {
5571
0
                return *r;
5572
0
            }
5573
12
            else {
5574
12
                err = r.error();
5575
12
            }
5576
12
        }
5577
5578
24
        return unexpected(err);
5579
24
    }
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIwE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refERb
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIwE14read_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refERb
5580
#endif
5581
5582
protected:
5583
    template <typename Range>
5584
    auto read_textual_custom(Range range,
5585
                             bool& value,
5586
                             std::basic_string_view<CharT> truename,
5587
                             std::basic_string_view<CharT> falsename) const
5588
        -> scan_expected<ranges::const_iterator_t<Range>>
5589
48
    {
5590
48
        const auto is_truename_shorter = truename.size() <= falsename.size();
5591
48
        const auto shorter = std::pair{
5592
48
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5593
48
        const auto longer = std::pair{
5594
48
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5595
5596
48
        if (auto r = read_matching_string(range, shorter.first)) {
5597
0
            value = shorter.second;
5598
0
            return *r;
5599
0
        }
5600
48
        if (auto r = read_matching_string(range, longer.first)) {
5601
0
            value = longer.second;
5602
0
            return *r;
5603
0
        }
5604
5605
48
        return detail::unexpected_scan_error(
5606
48
            scan_error::invalid_scanned_value,
5607
48
            "Failed to read textual boolean: No match");
5608
48
    }
_ZNK3scn2v44impl11bool_readerIcE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RbNSF_17basic_string_viewIcNSF_11char_traitsIcEEEESR_
Line
Count
Source
5589
14
    {
5590
14
        const auto is_truename_shorter = truename.size() <= falsename.size();
5591
14
        const auto shorter = std::pair{
5592
14
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5593
14
        const auto longer = std::pair{
5594
14
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5595
5596
14
        if (auto r = read_matching_string(range, shorter.first)) {
5597
0
            value = shorter.second;
5598
0
            return *r;
5599
0
        }
5600
14
        if (auto r = read_matching_string(range, longer.first)) {
5601
0
            value = longer.second;
5602
0
            return *r;
5603
0
        }
5604
5605
14
        return detail::unexpected_scan_error(
5606
14
            scan_error::invalid_scanned_value,
5607
14
            "Failed to read textual boolean: No match");
5608
14
    }
_ZNK3scn2v44impl11bool_readerIcE19read_textual_customINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNSD_17basic_string_viewIcNSD_11char_traitsIcEEEESP_
Line
Count
Source
5589
8
    {
5590
8
        const auto is_truename_shorter = truename.size() <= falsename.size();
5591
8
        const auto shorter = std::pair{
5592
8
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5593
8
        const auto longer = std::pair{
5594
8
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5595
5596
8
        if (auto r = read_matching_string(range, shorter.first)) {
5597
0
            value = shorter.second;
5598
0
            return *r;
5599
0
        }
5600
8
        if (auto r = read_matching_string(range, longer.first)) {
5601
0
            value = longer.second;
5602
0
            return *r;
5603
0
        }
5604
5605
8
        return detail::unexpected_scan_error(
5606
8
            scan_error::invalid_scanned_value,
5607
8
            "Failed to read textual boolean: No match");
5608
8
    }
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIcE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RbNSI_17basic_string_viewIcNSI_11char_traitsIcEEEESU_
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIcE19read_textual_customINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNSG_17basic_string_viewIcNSG_11char_traitsIcEEEESS_
_ZNK3scn2v44impl11bool_readerIwE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RbNSF_17basic_string_viewIwNSF_11char_traitsIwEEEESR_
Line
Count
Source
5589
14
    {
5590
14
        const auto is_truename_shorter = truename.size() <= falsename.size();
5591
14
        const auto shorter = std::pair{
5592
14
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5593
14
        const auto longer = std::pair{
5594
14
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5595
5596
14
        if (auto r = read_matching_string(range, shorter.first)) {
5597
0
            value = shorter.second;
5598
0
            return *r;
5599
0
        }
5600
14
        if (auto r = read_matching_string(range, longer.first)) {
5601
0
            value = longer.second;
5602
0
            return *r;
5603
0
        }
5604
5605
14
        return detail::unexpected_scan_error(
5606
14
            scan_error::invalid_scanned_value,
5607
14
            "Failed to read textual boolean: No match");
5608
14
    }
_ZNK3scn2v44impl11bool_readerIwE19read_textual_customINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNSD_17basic_string_viewIwNSD_11char_traitsIwEEEESP_
Line
Count
Source
5589
12
    {
5590
12
        const auto is_truename_shorter = truename.size() <= falsename.size();
5591
12
        const auto shorter = std::pair{
5592
12
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5593
12
        const auto longer = std::pair{
5594
12
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5595
5596
12
        if (auto r = read_matching_string(range, shorter.first)) {
5597
0
            value = shorter.second;
5598
0
            return *r;
5599
0
        }
5600
12
        if (auto r = read_matching_string(range, longer.first)) {
5601
0
            value = longer.second;
5602
0
            return *r;
5603
0
        }
5604
5605
12
        return detail::unexpected_scan_error(
5606
12
            scan_error::invalid_scanned_value,
5607
12
            "Failed to read textual boolean: No match");
5608
12
    }
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIwE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RbNSI_17basic_string_viewIwNSI_11char_traitsIwEEEESU_
Unexecuted instantiation: _ZNK3scn2v44impl11bool_readerIwE19read_textual_customINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNSG_17basic_string_viewIwNSG_11char_traitsIwEEEESS_
5609
};
5610
5611
template <typename CharT>
5612
class reader_impl_for_bool
5613
    : public reader_base<reader_impl_for_bool<CharT>, CharT> {
5614
public:
5615
    reader_impl_for_bool() = default;
5616
5617
    void check_specs_impl(const detail::format_specs& specs,
5618
                          reader_error_handler& eh)
5619
3.69k
    {
5620
3.69k
        detail::check_bool_type_specs(specs, eh);
5621
3.69k
    }
scn::v4::impl::reader_impl_for_bool<char>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
5619
2.40k
    {
5620
2.40k
        detail::check_bool_type_specs(specs, eh);
5621
2.40k
    }
scn::v4::impl::reader_impl_for_bool<wchar_t>::check_specs_impl(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
5619
1.29k
    {
5620
1.29k
        detail::check_bool_type_specs(specs, eh);
5621
1.29k
    }
5622
5623
    template <typename Range>
5624
    auto read_default(Range range, bool& value, detail::locale_ref loc) const
5625
        -> scan_expected<ranges::const_iterator_t<Range>>
5626
1.13k
    {
5627
1.13k
        SCN_UNUSED(loc);
5628
5629
1.13k
        return bool_reader<CharT>{}.read_classic(range, value);
5630
1.13k
    }
_ZNK3scn2v44impl20reader_impl_for_boolIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNS0_6detail10locale_refE
Line
Count
Source
5626
644
    {
5627
644
        SCN_UNUSED(loc);
5628
5629
644
        return bool_reader<CharT>{}.read_classic(range, value);
5630
644
    }
Unexecuted instantiation: _ZNK3scn2v44impl20reader_impl_for_boolIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNS9_10locale_refE
_ZNK3scn2v44impl20reader_impl_for_boolIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNS0_6detail10locale_refE
Line
Count
Source
5626
490
    {
5627
490
        SCN_UNUSED(loc);
5628
5629
490
        return bool_reader<CharT>{}.read_classic(range, value);
5630
490
    }
Unexecuted instantiation: _ZNK3scn2v44impl20reader_impl_for_boolIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNS9_10locale_refE
5631
5632
    template <typename Range>
5633
    auto read_specs(Range range,
5634
                    const detail::format_specs& specs,
5635
                    bool& value,
5636
                    detail::locale_ref loc) const
5637
        -> scan_expected<ranges::const_iterator_t<Range>>
5638
1.63k
    {
5639
1.63k
        const auto rd = bool_reader<CharT>{get_options(specs)};
5640
5641
1.63k
#if !SCN_DISABLE_LOCALE
5642
1.63k
        if (specs.localized) {
5643
94
            return rd.read_localized(range, loc, value);
5644
94
        }
5645
#else
5646
        SCN_UNUSED(loc);
5647
#endif
5648
5649
1.53k
        return rd.read_classic(range, value);
5650
1.63k
    }
_ZNK3scn2v44impl20reader_impl_for_boolIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERbNSN_10locale_refE
Line
Count
Source
5638
464
    {
5639
464
        const auto rd = bool_reader<CharT>{get_options(specs)};
5640
5641
464
#if !SCN_DISABLE_LOCALE
5642
464
        if (specs.localized) {
5643
18
            return rd.read_localized(range, loc, value);
5644
18
        }
5645
#else
5646
        SCN_UNUSED(loc);
5647
#endif
5648
5649
446
        return rd.read_classic(range, value);
5650
464
    }
_ZNK3scn2v44impl20reader_impl_for_boolIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERbNSL_10locale_refE
Line
Count
Source
5638
434
    {
5639
434
        const auto rd = bool_reader<CharT>{get_options(specs)};
5640
5641
434
#if !SCN_DISABLE_LOCALE
5642
434
        if (specs.localized) {
5643
18
            return rd.read_localized(range, loc, value);
5644
18
        }
5645
#else
5646
        SCN_UNUSED(loc);
5647
#endif
5648
5649
416
        return rd.read_classic(range, value);
5650
434
    }
Unexecuted instantiation: _ZNK3scn2v44impl20reader_impl_for_boolIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERbNSA_10locale_refE
Unexecuted instantiation: _ZNK3scn2v44impl20reader_impl_for_boolIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERbNS9_10locale_refE
_ZNK3scn2v44impl20reader_impl_for_boolIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERbNSN_10locale_refE
Line
Count
Source
5638
242
    {
5639
242
        const auto rd = bool_reader<CharT>{get_options(specs)};
5640
5641
242
#if !SCN_DISABLE_LOCALE
5642
242
        if (specs.localized) {
5643
28
            return rd.read_localized(range, loc, value);
5644
28
        }
5645
#else
5646
        SCN_UNUSED(loc);
5647
#endif
5648
5649
214
        return rd.read_classic(range, value);
5650
242
    }
_ZNK3scn2v44impl20reader_impl_for_boolIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERbNSL_10locale_refE
Line
Count
Source
5638
492
    {
5639
492
        const auto rd = bool_reader<CharT>{get_options(specs)};
5640
5641
492
#if !SCN_DISABLE_LOCALE
5642
492
        if (specs.localized) {
5643
30
            return rd.read_localized(range, loc, value);
5644
30
        }
5645
#else
5646
        SCN_UNUSED(loc);
5647
#endif
5648
5649
462
        return rd.read_classic(range, value);
5650
492
    }
Unexecuted instantiation: _ZNK3scn2v44impl20reader_impl_for_boolIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERbNSA_10locale_refE
Unexecuted instantiation: _ZNK3scn2v44impl20reader_impl_for_boolIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERbNS9_10locale_refE
5651
5652
    static constexpr unsigned get_options(const detail::format_specs& specs)
5653
1.63k
    {
5654
1.63k
        SCN_GCC_COMPAT_PUSH
5655
1.63k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
5656
5657
1.63k
        switch (specs.type) {
5658
342
            case detail::presentation_type::string:
5659
342
                return bool_reader_base::allow_text;
5660
5661
38
            case detail::presentation_type::int_generic:
5662
82
            case detail::presentation_type::int_binary:
5663
96
            case detail::presentation_type::int_decimal:
5664
122
            case detail::presentation_type::int_hex:
5665
152
            case detail::presentation_type::int_octal:
5666
172
            case detail::presentation_type::int_unsigned_decimal:
5667
172
                return bool_reader_base::allow_numeric;
5668
5669
1.11k
            default:
5670
1.11k
                return bool_reader_base::allow_text |
5671
1.11k
                       bool_reader_base::allow_numeric;
5672
1.63k
        }
5673
5674
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
5675
1.63k
    }
scn::v4::impl::reader_impl_for_bool<char>::get_options(scn::v4::detail::format_specs const&)
Line
Count
Source
5653
898
    {
5654
898
        SCN_GCC_COMPAT_PUSH
5655
898
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
5656
5657
898
        switch (specs.type) {
5658
248
            case detail::presentation_type::string:
5659
248
                return bool_reader_base::allow_text;
5660
5661
14
            case detail::presentation_type::int_generic:
5662
28
            case detail::presentation_type::int_binary:
5663
34
            case detail::presentation_type::int_decimal:
5664
44
            case detail::presentation_type::int_hex:
5665
58
            case detail::presentation_type::int_octal:
5666
64
            case detail::presentation_type::int_unsigned_decimal:
5667
64
                return bool_reader_base::allow_numeric;
5668
5669
586
            default:
5670
586
                return bool_reader_base::allow_text |
5671
586
                       bool_reader_base::allow_numeric;
5672
898
        }
5673
5674
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
5675
898
    }
scn::v4::impl::reader_impl_for_bool<wchar_t>::get_options(scn::v4::detail::format_specs const&)
Line
Count
Source
5653
734
    {
5654
734
        SCN_GCC_COMPAT_PUSH
5655
734
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
5656
5657
734
        switch (specs.type) {
5658
94
            case detail::presentation_type::string:
5659
94
                return bool_reader_base::allow_text;
5660
5661
24
            case detail::presentation_type::int_generic:
5662
54
            case detail::presentation_type::int_binary:
5663
62
            case detail::presentation_type::int_decimal:
5664
78
            case detail::presentation_type::int_hex:
5665
94
            case detail::presentation_type::int_octal:
5666
108
            case detail::presentation_type::int_unsigned_decimal:
5667
108
                return bool_reader_base::allow_numeric;
5668
5669
532
            default:
5670
532
                return bool_reader_base::allow_text |
5671
532
                       bool_reader_base::allow_numeric;
5672
734
        }
5673
5674
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
5675
734
    }
5676
};
5677
5678
/////////////////////////////////////////////////////////////////
5679
// Character (code unit, code point) reader
5680
/////////////////////////////////////////////////////////////////
5681
5682
template <typename CharT>
5683
class code_unit_reader {
5684
public:
5685
    template <typename SourceRange>
5686
    auto read(const SourceRange& range, CharT& ch)
5687
        -> scan_expected<ranges::const_iterator_t<SourceRange>>
5688
2.23k
    {
5689
2.23k
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5690
2.23k
        ch = *range.begin();
5691
2.23k
        return it;
5692
2.23k
    }
Unexecuted instantiation: _ZN3scn2v44impl16code_unit_readerIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_Rc
Unexecuted instantiation: _ZN3scn2v44impl16code_unit_readerIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_Rc
_ZN3scn2v44impl16code_unit_readerIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_Rc
Line
Count
Source
5688
328
    {
5689
328
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5690
328
        ch = *range.begin();
5691
328
        return it;
5692
328
    }
_ZN3scn2v44impl16code_unit_readerIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_Rc
Line
Count
Source
5688
910
    {
5689
910
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5690
910
        ch = *range.begin();
5691
910
        return it;
5692
910
    }
Unexecuted instantiation: _ZN3scn2v44impl16code_unit_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_Rw
Unexecuted instantiation: _ZN3scn2v44impl16code_unit_readerIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_Rw
_ZN3scn2v44impl16code_unit_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_Rw
Line
Count
Source
5688
148
    {
5689
148
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5690
148
        ch = *range.begin();
5691
148
        return it;
5692
148
    }
_ZN3scn2v44impl16code_unit_readerIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_Rw
Line
Count
Source
5688
852
    {
5689
852
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5690
852
        ch = *range.begin();
5691
852
        return it;
5692
852
    }
5693
};
5694
5695
template <typename CharT>
5696
class code_point_reader;
5697
5698
template <>
5699
class code_point_reader<char32_t> {
5700
public:
5701
    template <typename SourceRange>
5702
    auto read(const SourceRange& range, char32_t& cp)
5703
        -> scan_expected<ranges::const_iterator_t<SourceRange>>
5704
0
    {
5705
0
        auto result = read_code_point_into(range);
5706
0
        if (SCN_UNLIKELY(!result.is_valid())) {
5707
0
            return detail::unexpected_scan_error(
5708
0
                scan_error::invalid_scanned_value, "Invalid code point");
5709
0
        }
5710
0
        cp = detail::decode_code_point_exhaustive_valid(
5711
0
            std::basic_string_view<detail::char_t<SourceRange>>{
5712
0
                result.codepoint.data(), result.codepoint.size()});
5713
0
        return result.iterator;
5714
0
    }
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_RDi
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_RDi
5715
};
5716
5717
template <>
5718
class code_point_reader<wchar_t> {
5719
public:
5720
    template <typename SourceRange>
5721
    auto read(const SourceRange& range, wchar_t& ch)
5722
        -> scan_expected<ranges::const_iterator_t<SourceRange>>
5723
0
    {
5724
0
        code_point_reader<char32_t> reader{};
5725
0
        char32_t cp{};
5726
0
        auto ret = reader.read(range, cp);
5727
0
        if (SCN_UNLIKELY(!ret)) {
5728
0
            return unexpected(ret.error());
5729
0
        }
5730
5731
0
        SCN_TRY(encoded_ch, encode_code_point_as_wide_character(cp, true));
5732
0
        ch = encoded_ch;
5733
0
        return *ret;
5734
0
    }
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIwE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_Rw
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_Rw
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_Rw
Unexecuted instantiation: _ZN3scn2v44impl17code_point_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_Rw
5735
};
5736
5737
template <typename ValueCharT>
5738
class char_reader_base {
5739
public:
5740
    constexpr char_reader_base() = default;
5741
5742
    bool skip_ws_before_read() const
5743
3.52k
    {
5744
3.52k
        return false;
5745
3.52k
    }
scn::v4::impl::char_reader_base<char>::skip_ws_before_read() const
Line
Count
Source
5743
1.89k
    {
5744
1.89k
        return false;
5745
1.89k
    }
scn::v4::impl::char_reader_base<wchar_t>::skip_ws_before_read() const
Line
Count
Source
5743
1.62k
    {
5744
1.62k
        return false;
5745
1.62k
    }
Unexecuted instantiation: scn::v4::impl::char_reader_base<char32_t>::skip_ws_before_read() const
5746
5747
    static scan_expected<void> check_specs(const detail::format_specs& specs)
5748
3.58k
    {
5749
3.58k
        reader_error_handler eh{};
5750
3.58k
        if constexpr (std::is_same_v<ValueCharT, char32_t>) {
5751
0
            detail::check_code_point_type_specs(specs, eh);
5752
        }
5753
3.58k
        else {
5754
3.58k
            detail::check_char_type_specs(specs, eh);
5755
3.58k
        }
5756
3.58k
        if (SCN_UNLIKELY(!eh)) {
5757
2.32k
            return detail::unexpected_scan_error(
5758
2.32k
                scan_error::invalid_format_string, eh.m_msg);
5759
2.32k
        }
5760
1.26k
        return {};
5761
3.58k
    }
scn::v4::impl::char_reader_base<char>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
5748
2.36k
    {
5749
2.36k
        reader_error_handler eh{};
5750
        if constexpr (std::is_same_v<ValueCharT, char32_t>) {
5751
            detail::check_code_point_type_specs(specs, eh);
5752
        }
5753
2.36k
        else {
5754
2.36k
            detail::check_char_type_specs(specs, eh);
5755
2.36k
        }
5756
2.36k
        if (SCN_UNLIKELY(!eh)) {
5757
1.70k
            return detail::unexpected_scan_error(
5758
1.70k
                scan_error::invalid_format_string, eh.m_msg);
5759
1.70k
        }
5760
658
        return {};
5761
2.36k
    }
scn::v4::impl::char_reader_base<wchar_t>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
5748
1.22k
    {
5749
1.22k
        reader_error_handler eh{};
5750
        if constexpr (std::is_same_v<ValueCharT, char32_t>) {
5751
            detail::check_code_point_type_specs(specs, eh);
5752
        }
5753
1.22k
        else {
5754
1.22k
            detail::check_char_type_specs(specs, eh);
5755
1.22k
        }
5756
1.22k
        if (SCN_UNLIKELY(!eh)) {
5757
622
            return detail::unexpected_scan_error(
5758
622
                scan_error::invalid_format_string, eh.m_msg);
5759
622
        }
5760
606
        return {};
5761
1.22k
    }
Unexecuted instantiation: scn::v4::impl::char_reader_base<char32_t>::check_specs(scn::v4::detail::format_specs const&)
5762
};
5763
5764
template <typename CharT>
5765
class reader_impl_for_char : public char_reader_base<char> {
5766
public:
5767
    template <typename Range>
5768
    auto read_default(Range range, char& value, detail::locale_ref loc)
5769
        -> scan_expected<ranges::const_iterator_t<Range>>
5770
1.23k
    {
5771
1.23k
        SCN_UNUSED(loc);
5772
1.23k
        if constexpr (std::is_same_v<CharT, char>) {
5773
1.23k
            return code_unit_reader<char>{}.read(range, value);
5774
        }
5775
0
        else {
5776
0
            SCN_UNUSED(range);
5777
0
            SCN_EXPECT(false);
5778
0
            SCN_UNREACHABLE;
5779
0
        }
5780
1.23k
    }
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RcNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RcNS9_10locale_refE
_ZN3scn2v44impl20reader_impl_for_charIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RcNS0_6detail10locale_refE
Line
Count
Source
5770
328
    {
5771
328
        SCN_UNUSED(loc);
5772
328
        if constexpr (std::is_same_v<CharT, char>) {
5773
328
            return code_unit_reader<char>{}.read(range, value);
5774
        }
5775
        else {
5776
            SCN_UNUSED(range);
5777
            SCN_EXPECT(false);
5778
            SCN_UNREACHABLE;
5779
        }
5780
328
    }
_ZN3scn2v44impl20reader_impl_for_charIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RcNS0_6detail10locale_refE
Line
Count
Source
5770
910
    {
5771
910
        SCN_UNUSED(loc);
5772
910
        if constexpr (std::is_same_v<CharT, char>) {
5773
910
            return code_unit_reader<char>{}.read(range, value);
5774
        }
5775
        else {
5776
            SCN_UNUSED(range);
5777
            SCN_EXPECT(false);
5778
            SCN_UNREACHABLE;
5779
        }
5780
910
    }
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RcNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RcNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RcNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RcNSA_10locale_refE
5781
5782
    template <typename Range>
5783
    auto read_specs(Range range,
5784
                    const detail::format_specs& specs,
5785
                    char& value,
5786
                    detail::locale_ref loc)
5787
        -> scan_expected<ranges::const_iterator_t<Range>>
5788
652
    {
5789
652
        if (specs.type == detail::presentation_type::none ||
5790
652
            specs.type == detail::presentation_type::character) {
5791
594
            return read_default(range, value, loc);
5792
594
        }
5793
5794
58
        reader_impl_for_int<CharT> reader{};
5795
58
        signed char tmp_value{};
5796
58
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5797
58
        value = static_cast<char>(tmp_value);
5798
58
        return ret;
5799
652
    }
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERcNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERcNS9_10locale_refE
_ZN3scn2v44impl20reader_impl_for_charIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERcNSN_10locale_refE
Line
Count
Source
5788
364
    {
5789
364
        if (specs.type == detail::presentation_type::none ||
5790
364
            specs.type == detail::presentation_type::character) {
5791
328
            return read_default(range, value, loc);
5792
328
        }
5793
5794
36
        reader_impl_for_int<CharT> reader{};
5795
36
        signed char tmp_value{};
5796
36
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5797
36
        value = static_cast<char>(tmp_value);
5798
36
        return ret;
5799
364
    }
_ZN3scn2v44impl20reader_impl_for_charIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERcNSL_10locale_refE
Line
Count
Source
5788
288
    {
5789
288
        if (specs.type == detail::presentation_type::none ||
5790
288
            specs.type == detail::presentation_type::character) {
5791
266
            return read_default(range, value, loc);
5792
266
        }
5793
5794
22
        reader_impl_for_int<CharT> reader{};
5795
22
        signed char tmp_value{};
5796
22
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5797
22
        value = static_cast<char>(tmp_value);
5798
22
        return ret;
5799
288
    }
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERcNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERcNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERcNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl20reader_impl_for_charIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERcNS9_10locale_refE
5800
};
5801
5802
template <typename CharT>
5803
class reader_impl_for_wchar : public char_reader_base<wchar_t> {
5804
public:
5805
    template <typename Range>
5806
    auto read_default(Range range, wchar_t& value, detail::locale_ref loc)
5807
        -> scan_expected<ranges::const_iterator_t<Range>>
5808
1.00k
    {
5809
1.00k
        SCN_UNUSED(loc);
5810
1.00k
        if constexpr (std::is_same_v<CharT, char>) {
5811
0
            return code_point_reader<wchar_t>{}.read(range, value);
5812
        }
5813
1.00k
        else {
5814
1.00k
            return code_unit_reader<wchar_t>{}.read(range, value);
5815
1.00k
        }
5816
1.00k
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RwNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RwNS9_10locale_refE
_ZN3scn2v44impl21reader_impl_for_wcharIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RwNS0_6detail10locale_refE
Line
Count
Source
5808
148
    {
5809
148
        SCN_UNUSED(loc);
5810
        if constexpr (std::is_same_v<CharT, char>) {
5811
            return code_point_reader<wchar_t>{}.read(range, value);
5812
        }
5813
148
        else {
5814
148
            return code_unit_reader<wchar_t>{}.read(range, value);
5815
148
        }
5816
148
    }
_ZN3scn2v44impl21reader_impl_for_wcharIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RwNS0_6detail10locale_refE
Line
Count
Source
5808
852
    {
5809
852
        SCN_UNUSED(loc);
5810
        if constexpr (std::is_same_v<CharT, char>) {
5811
            return code_point_reader<wchar_t>{}.read(range, value);
5812
        }
5813
852
        else {
5814
852
            return code_unit_reader<wchar_t>{}.read(range, value);
5815
852
        }
5816
852
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RwNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RwNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RwNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RwNSA_10locale_refE
5817
5818
    template <typename Range>
5819
    auto read_specs(Range range,
5820
                    const detail::format_specs& specs,
5821
                    wchar_t& value,
5822
                    detail::locale_ref loc)
5823
        -> scan_expected<ranges::const_iterator_t<Range>>
5824
604
    {
5825
604
        if (specs.type == detail::presentation_type::none ||
5826
604
            specs.type == detail::presentation_type::character) {
5827
510
            return read_default(range, value, loc);
5828
510
        }
5829
5830
94
        reader_impl_for_int<CharT> reader{};
5831
94
        using integer_type =
5832
94
            std::conditional_t<sizeof(wchar_t) == 2, int16_t, int32_t>;
5833
94
        integer_type tmp_value{};
5834
94
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5835
94
        value = static_cast<wchar_t>(tmp_value);
5836
94
        return ret;
5837
604
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERwNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERwNS9_10locale_refE
_ZN3scn2v44impl21reader_impl_for_wcharIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERwNSN_10locale_refE
Line
Count
Source
5824
194
    {
5825
194
        if (specs.type == detail::presentation_type::none ||
5826
194
            specs.type == detail::presentation_type::character) {
5827
148
            return read_default(range, value, loc);
5828
148
        }
5829
5830
46
        reader_impl_for_int<CharT> reader{};
5831
46
        using integer_type =
5832
46
            std::conditional_t<sizeof(wchar_t) == 2, int16_t, int32_t>;
5833
46
        integer_type tmp_value{};
5834
46
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5835
46
        value = static_cast<wchar_t>(tmp_value);
5836
46
        return ret;
5837
194
    }
_ZN3scn2v44impl21reader_impl_for_wcharIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERwNSL_10locale_refE
Line
Count
Source
5824
410
    {
5825
410
        if (specs.type == detail::presentation_type::none ||
5826
410
            specs.type == detail::presentation_type::character) {
5827
362
            return read_default(range, value, loc);
5828
362
        }
5829
5830
48
        reader_impl_for_int<CharT> reader{};
5831
48
        using integer_type =
5832
48
            std::conditional_t<sizeof(wchar_t) == 2, int16_t, int32_t>;
5833
48
        integer_type tmp_value{};
5834
48
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5835
48
        value = static_cast<wchar_t>(tmp_value);
5836
48
        return ret;
5837
410
    }
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERwNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERwNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERwNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl21reader_impl_for_wcharIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERwNS9_10locale_refE
5838
};
5839
5840
template <typename CharT>
5841
class reader_impl_for_code_point : public char_reader_base<char32_t> {
5842
public:
5843
    template <typename Range>
5844
    auto read_default(Range range, char32_t& value, detail::locale_ref loc)
5845
        -> scan_expected<ranges::const_iterator_t<Range>>
5846
0
    {
5847
0
        SCN_UNUSED(loc);
5848
0
        return code_point_reader<char32_t>{}.read(range, value);
5849
0
    }
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RDiNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RDiNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RDiNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RDiNSA_10locale_refE
5850
5851
    template <typename Range>
5852
    auto read_specs(Range range,
5853
                    const detail::format_specs& specs,
5854
                    char32_t& value,
5855
                    detail::locale_ref loc)
5856
        -> scan_expected<ranges::const_iterator_t<Range>>
5857
0
    {
5858
0
        SCN_UNUSED(specs);
5859
0
        return read_default(range, value, loc);
5860
0
    }
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERDiNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERDiNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERDiNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERDiNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERDiNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERDiNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERDiNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl26reader_impl_for_code_pointIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERDiNS9_10locale_refE
5861
};
5862
5863
/////////////////////////////////////////////////////////////////
5864
// Pointer reader
5865
/////////////////////////////////////////////////////////////////
5866
5867
template <typename CharT>
5868
class reader_impl_for_voidptr {
5869
public:
5870
    constexpr reader_impl_for_voidptr() = default;
5871
5872
    bool skip_ws_before_read() const
5873
2.31k
    {
5874
2.31k
        return true;
5875
2.31k
    }
scn::v4::impl::reader_impl_for_voidptr<char>::skip_ws_before_read() const
Line
Count
Source
5873
1.24k
    {
5874
1.24k
        return true;
5875
1.24k
    }
scn::v4::impl::reader_impl_for_voidptr<wchar_t>::skip_ws_before_read() const
Line
Count
Source
5873
1.06k
    {
5874
1.06k
        return true;
5875
1.06k
    }
5876
5877
    static scan_expected<void> check_specs(const detail::format_specs& specs)
5878
3.58k
    {
5879
3.58k
        reader_error_handler eh{};
5880
3.58k
        detail::check_pointer_type_specs(specs, eh);
5881
3.58k
        if (SCN_UNLIKELY(!eh)) {
5882
2.46k
            return detail::unexpected_scan_error(
5883
2.46k
                scan_error::invalid_format_string, eh.m_msg);
5884
2.46k
        }
5885
1.12k
        return {};
5886
3.58k
    }
scn::v4::impl::reader_impl_for_voidptr<char>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
5878
2.36k
    {
5879
2.36k
        reader_error_handler eh{};
5880
2.36k
        detail::check_pointer_type_specs(specs, eh);
5881
2.36k
        if (SCN_UNLIKELY(!eh)) {
5882
1.75k
            return detail::unexpected_scan_error(
5883
1.75k
                scan_error::invalid_format_string, eh.m_msg);
5884
1.75k
        }
5885
604
        return {};
5886
2.36k
    }
scn::v4::impl::reader_impl_for_voidptr<wchar_t>::check_specs(scn::v4::detail::format_specs const&)
Line
Count
Source
5878
1.22k
    {
5879
1.22k
        reader_error_handler eh{};
5880
1.22k
        detail::check_pointer_type_specs(specs, eh);
5881
1.22k
        if (SCN_UNLIKELY(!eh)) {
5882
706
            return detail::unexpected_scan_error(
5883
706
                scan_error::invalid_format_string, eh.m_msg);
5884
706
        }
5885
522
        return {};
5886
1.22k
    }
5887
5888
    template <typename Range>
5889
    auto read_default(Range range, void*& value, detail::locale_ref loc)
5890
        -> scan_expected<ranges::const_iterator_t<Range>>
5891
2.22k
    {
5892
2.22k
        detail::format_specs specs{};
5893
2.22k
        specs.type = detail::presentation_type::int_hex;
5894
5895
2.22k
        std::uintptr_t intvalue{};
5896
2.22k
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5897
50
                                                                intvalue, loc));
5898
50
        value = reinterpret_cast<void*>(intvalue);
5899
50
        return result;
5900
2.22k
    }
_ZN3scn2v44impl23reader_impl_for_voidptrIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RPvNS0_6detail10locale_refE
Line
Count
Source
5891
914
    {
5892
914
        detail::format_specs specs{};
5893
914
        specs.type = detail::presentation_type::int_hex;
5894
5895
914
        std::uintptr_t intvalue{};
5896
914
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5897
0
                                                                intvalue, loc));
5898
0
        value = reinterpret_cast<void*>(intvalue);
5899
0
        return result;
5900
914
    }
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RPvNS9_10locale_refE
_ZN3scn2v44impl23reader_impl_for_voidptrIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RPvNS0_6detail10locale_refE
Line
Count
Source
5891
306
    {
5892
306
        detail::format_specs specs{};
5893
306
        specs.type = detail::presentation_type::int_hex;
5894
5895
306
        std::uintptr_t intvalue{};
5896
306
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5897
0
                                                                intvalue, loc));
5898
0
        value = reinterpret_cast<void*>(intvalue);
5899
0
        return result;
5900
306
    }
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RPvNSA_10locale_refE
_ZN3scn2v44impl23reader_impl_for_voidptrIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RPvNS0_6detail10locale_refE
Line
Count
Source
5891
856
    {
5892
856
        detail::format_specs specs{};
5893
856
        specs.type = detail::presentation_type::int_hex;
5894
5895
856
        std::uintptr_t intvalue{};
5896
856
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5897
40
                                                                intvalue, loc));
5898
40
        value = reinterpret_cast<void*>(intvalue);
5899
40
        return result;
5900
856
    }
_ZN3scn2v44impl23reader_impl_for_voidptrIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RPvNS0_6detail10locale_refE
Line
Count
Source
5891
146
    {
5892
146
        detail::format_specs specs{};
5893
146
        specs.type = detail::presentation_type::int_hex;
5894
5895
146
        std::uintptr_t intvalue{};
5896
146
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5897
10
                                                                intvalue, loc));
5898
10
        value = reinterpret_cast<void*>(intvalue);
5899
10
        return result;
5900
146
    }
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RPvNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RPvNSA_10locale_refE
5901
5902
    template <typename Range>
5903
    auto read_specs(Range range,
5904
                    const detail::format_specs& specs,
5905
                    void*& value,
5906
                    detail::locale_ref loc)
5907
        -> scan_expected<ranges::const_iterator_t<Range>>
5908
1.08k
    {
5909
1.08k
        SCN_UNUSED(specs);
5910
1.08k
        return read_default(range, value, loc);
5911
1.08k
    }
_ZN3scn2v44impl23reader_impl_for_voidptrIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERPvNSN_10locale_refE
Line
Count
Source
5908
306
    {
5909
306
        SCN_UNUSED(specs);
5910
306
        return read_default(range, value, loc);
5911
306
    }
_ZN3scn2v44impl23reader_impl_for_voidptrIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERPvNSL_10locale_refE
Line
Count
Source
5908
270
    {
5909
270
        SCN_UNUSED(specs);
5910
270
        return read_default(range, value, loc);
5911
270
    }
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERPvNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERPvNS9_10locale_refE
_ZN3scn2v44impl23reader_impl_for_voidptrIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERPvNSN_10locale_refE
Line
Count
Source
5908
146
    {
5909
146
        SCN_UNUSED(specs);
5910
146
        return read_default(range, value, loc);
5911
146
    }
_ZN3scn2v44impl23reader_impl_for_voidptrIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERPvNSL_10locale_refE
Line
Count
Source
5908
366
    {
5909
366
        SCN_UNUSED(specs);
5910
366
        return read_default(range, value, loc);
5911
366
    }
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERPvNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v44impl23reader_impl_for_voidptrIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERPvNS9_10locale_refE
5912
};
5913
5914
/////////////////////////////////////////////////////////////////
5915
// Argument readers
5916
/////////////////////////////////////////////////////////////////
5917
5918
template <typename Range>
5919
auto skip_ws_before_if_required(bool is_required, Range range)
5920
    -> eof_expected<ranges::iterator_t<Range>>
5921
10.2k
{
5922
10.2k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5923
0
        return unexpected(e);
5924
0
    }
5925
5926
10.2k
    if (!is_required) {
5927
1.13k
        return range.begin();
5928
1.13k
    }
5929
5930
9.07k
    return skip_classic_whitespace(range);
5931
10.2k
}
_ZN3scn2v44impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSB_
Line
Count
Source
5921
5.79k
{
5922
5.79k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5923
0
        return unexpected(e);
5924
0
    }
5925
5926
5.79k
    if (!is_required) {
5927
644
        return range.begin();
5928
644
    }
5929
5930
5.15k
    return skip_classic_whitespace(range);
5931
5.79k
}
Unexecuted instantiation: _ZN3scn2v44impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSE_
Unexecuted instantiation: _ZN3scn2v44impl26skip_ws_before_if_requiredINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEEEEbSA_
_ZN3scn2v44impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSB_
Line
Count
Source
5921
4.41k
{
5922
4.41k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5923
0
        return unexpected(e);
5924
0
    }
5925
5926
4.41k
    if (!is_required) {
5927
490
        return range.begin();
5928
490
    }
5929
5930
3.92k
    return skip_classic_whitespace(range);
5931
4.41k
}
Unexecuted instantiation: _ZN3scn2v44impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSE_
Unexecuted instantiation: _ZN3scn2v44impl26skip_ws_before_if_requiredINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEEEEbSA_
5932
5933
template <typename T, typename CharT>
5934
constexpr auto make_reader()
5935
14.1k
{
5936
    if constexpr (std::is_same_v<T, bool>) {
5937
        return reader_impl_for_bool<CharT>{};
5938
    }
5939
    else if constexpr (std::is_same_v<T, char>) {
5940
        return reader_impl_for_char<CharT>{};
5941
    }
5942
    else if constexpr (std::is_same_v<T, wchar_t>) {
5943
        return reader_impl_for_wchar<CharT>{};
5944
    }
5945
    else if constexpr (std::is_same_v<T, char32_t>) {
5946
        return reader_impl_for_code_point<CharT>{};
5947
    }
5948
    else if constexpr (std::is_same_v<T, std::string_view> ||
5949
4.72k
                       std::is_same_v<T, std::wstring_view>) {
5950
4.72k
        return reader_impl_for_string<CharT>{};
5951
    }
5952
    else if constexpr (std::is_same_v<T, std::string> ||
5953
9.44k
                       std::is_same_v<T, std::wstring>) {
5954
9.44k
        return reader_impl_for_string<CharT>{};
5955
    }
5956
#if !SCN_DISABLE_REGEX
5957
    else if constexpr (std::is_same_v<T, regex_matches> ||
5958
                       std::is_same_v<T, wregex_matches>) {
5959
        return reader_impl_for_regex_matches<CharT>{};
5960
    }
5961
#endif
5962
    else if constexpr (std::is_same_v<T, void*>) {
5963
        return reader_impl_for_voidptr<CharT>{};
5964
    }
5965
    else if constexpr (std::is_floating_point_v<T>) {
5966
        return reader_impl_for_float<CharT>{};
5967
    }
5968
    else if constexpr (std::is_same_v<T, signed char> ||
5969
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5970
                       std::is_same_v<T, long> ||
5971
                       std::is_same_v<T, long long> ||
5972
                       std::is_same_v<T, unsigned char> ||
5973
                       std::is_same_v<T, unsigned short> ||
5974
                       std::is_same_v<T, unsigned int> ||
5975
                       std::is_same_v<T, unsigned long> ||
5976
                       std::is_same_v<T, unsigned long long>
5977
#if SCN_HAS_INT128
5978
                       || std::is_same_v<T, int128> ||
5979
                       std::is_same_v<T, uint128>
5980
#endif
5981
    ) {
5982
        return reader_impl_for_int<CharT>{};
5983
    }
5984
    else {
5985
        return reader_impl_for_monostate<CharT>{};
5986
    }
5987
14.1k
}
auto scn::v4::impl::make_reader<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char>()
Line
Count
Source
5935
3.00k
{
5936
    if constexpr (std::is_same_v<T, bool>) {
5937
        return reader_impl_for_bool<CharT>{};
5938
    }
5939
    else if constexpr (std::is_same_v<T, char>) {
5940
        return reader_impl_for_char<CharT>{};
5941
    }
5942
    else if constexpr (std::is_same_v<T, wchar_t>) {
5943
        return reader_impl_for_wchar<CharT>{};
5944
    }
5945
    else if constexpr (std::is_same_v<T, char32_t>) {
5946
        return reader_impl_for_code_point<CharT>{};
5947
    }
5948
    else if constexpr (std::is_same_v<T, std::string_view> ||
5949
                       std::is_same_v<T, std::wstring_view>) {
5950
        return reader_impl_for_string<CharT>{};
5951
    }
5952
    else if constexpr (std::is_same_v<T, std::string> ||
5953
3.00k
                       std::is_same_v<T, std::wstring>) {
5954
3.00k
        return reader_impl_for_string<CharT>{};
5955
    }
5956
#if !SCN_DISABLE_REGEX
5957
    else if constexpr (std::is_same_v<T, regex_matches> ||
5958
                       std::is_same_v<T, wregex_matches>) {
5959
        return reader_impl_for_regex_matches<CharT>{};
5960
    }
5961
#endif
5962
    else if constexpr (std::is_same_v<T, void*>) {
5963
        return reader_impl_for_voidptr<CharT>{};
5964
    }
5965
    else if constexpr (std::is_floating_point_v<T>) {
5966
        return reader_impl_for_float<CharT>{};
5967
    }
5968
    else if constexpr (std::is_same_v<T, signed char> ||
5969
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5970
                       std::is_same_v<T, long> ||
5971
                       std::is_same_v<T, long long> ||
5972
                       std::is_same_v<T, unsigned char> ||
5973
                       std::is_same_v<T, unsigned short> ||
5974
                       std::is_same_v<T, unsigned int> ||
5975
                       std::is_same_v<T, unsigned long> ||
5976
                       std::is_same_v<T, unsigned long long>
5977
#if SCN_HAS_INT128
5978
                       || std::is_same_v<T, int128> ||
5979
                       std::is_same_v<T, uint128>
5980
#endif
5981
    ) {
5982
        return reader_impl_for_int<CharT>{};
5983
    }
5984
    else {
5985
        return reader_impl_for_monostate<CharT>{};
5986
    }
5987
3.00k
}
auto scn::v4::impl::make_reader<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, char>()
Line
Count
Source
5935
3.00k
{
5936
    if constexpr (std::is_same_v<T, bool>) {
5937
        return reader_impl_for_bool<CharT>{};
5938
    }
5939
    else if constexpr (std::is_same_v<T, char>) {
5940
        return reader_impl_for_char<CharT>{};
5941
    }
5942
    else if constexpr (std::is_same_v<T, wchar_t>) {
5943
        return reader_impl_for_wchar<CharT>{};
5944
    }
5945
    else if constexpr (std::is_same_v<T, char32_t>) {
5946
        return reader_impl_for_code_point<CharT>{};
5947
    }
5948
    else if constexpr (std::is_same_v<T, std::string_view> ||
5949
                       std::is_same_v<T, std::wstring_view>) {
5950
        return reader_impl_for_string<CharT>{};
5951
    }
5952
    else if constexpr (std::is_same_v<T, std::string> ||
5953
3.00k
                       std::is_same_v<T, std::wstring>) {
5954
3.00k
        return reader_impl_for_string<CharT>{};
5955
    }
5956
#if !SCN_DISABLE_REGEX
5957
    else if constexpr (std::is_same_v<T, regex_matches> ||
5958
                       std::is_same_v<T, wregex_matches>) {
5959
        return reader_impl_for_regex_matches<CharT>{};
5960
    }
5961
#endif
5962
    else if constexpr (std::is_same_v<T, void*>) {
5963
        return reader_impl_for_voidptr<CharT>{};
5964
    }
5965
    else if constexpr (std::is_floating_point_v<T>) {
5966
        return reader_impl_for_float<CharT>{};
5967
    }
5968
    else if constexpr (std::is_same_v<T, signed char> ||
5969
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5970
                       std::is_same_v<T, long> ||
5971
                       std::is_same_v<T, long long> ||
5972
                       std::is_same_v<T, unsigned char> ||
5973
                       std::is_same_v<T, unsigned short> ||
5974
                       std::is_same_v<T, unsigned int> ||
5975
                       std::is_same_v<T, unsigned long> ||
5976
                       std::is_same_v<T, unsigned long long>
5977
#if SCN_HAS_INT128
5978
                       || std::is_same_v<T, int128> ||
5979
                       std::is_same_v<T, uint128>
5980
#endif
5981
    ) {
5982
        return reader_impl_for_int<CharT>{};
5983
    }
5984
    else {
5985
        return reader_impl_for_monostate<CharT>{};
5986
    }
5987
3.00k
}
auto scn::v4::impl::make_reader<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char>()
Line
Count
Source
5935
3.00k
{
5936
    if constexpr (std::is_same_v<T, bool>) {
5937
        return reader_impl_for_bool<CharT>{};
5938
    }
5939
    else if constexpr (std::is_same_v<T, char>) {
5940
        return reader_impl_for_char<CharT>{};
5941
    }
5942
    else if constexpr (std::is_same_v<T, wchar_t>) {
5943
        return reader_impl_for_wchar<CharT>{};
5944
    }
5945
    else if constexpr (std::is_same_v<T, char32_t>) {
5946
        return reader_impl_for_code_point<CharT>{};
5947
    }
5948
    else if constexpr (std::is_same_v<T, std::string_view> ||
5949
3.00k
                       std::is_same_v<T, std::wstring_view>) {
5950
3.00k
        return reader_impl_for_string<CharT>{};
5951
    }
5952
    else if constexpr (std::is_same_v<T, std::string> ||
5953
                       std::is_same_v<T, std::wstring>) {
5954
        return reader_impl_for_string<CharT>{};
5955
    }
5956
#if !SCN_DISABLE_REGEX
5957
    else if constexpr (std::is_same_v<T, regex_matches> ||
5958
                       std::is_same_v<T, wregex_matches>) {
5959
        return reader_impl_for_regex_matches<CharT>{};
5960
    }
5961
#endif
5962
    else if constexpr (std::is_same_v<T, void*>) {
5963
        return reader_impl_for_voidptr<CharT>{};
5964
    }
5965
    else if constexpr (std::is_floating_point_v<T>) {
5966
        return reader_impl_for_float<CharT>{};
5967
    }
5968
    else if constexpr (std::is_same_v<T, signed char> ||
5969
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5970
                       std::is_same_v<T, long> ||
5971
                       std::is_same_v<T, long long> ||
5972
                       std::is_same_v<T, unsigned char> ||
5973
                       std::is_same_v<T, unsigned short> ||
5974
                       std::is_same_v<T, unsigned int> ||
5975
                       std::is_same_v<T, unsigned long> ||
5976
                       std::is_same_v<T, unsigned long long>
5977
#if SCN_HAS_INT128
5978
                       || std::is_same_v<T, int128> ||
5979
                       std::is_same_v<T, uint128>
5980
#endif
5981
    ) {
5982
        return reader_impl_for_int<CharT>{};
5983
    }
5984
    else {
5985
        return reader_impl_for_monostate<CharT>{};
5986
    }
5987
3.00k
}
Unexecuted instantiation: auto scn::v4::impl::make_reader<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, char>()
auto scn::v4::impl::make_reader<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t>()
Line
Count
Source
5935
1.71k
{
5936
    if constexpr (std::is_same_v<T, bool>) {
5937
        return reader_impl_for_bool<CharT>{};
5938
    }
5939
    else if constexpr (std::is_same_v<T, char>) {
5940
        return reader_impl_for_char<CharT>{};
5941
    }
5942
    else if constexpr (std::is_same_v<T, wchar_t>) {
5943
        return reader_impl_for_wchar<CharT>{};
5944
    }
5945
    else if constexpr (std::is_same_v<T, char32_t>) {
5946
        return reader_impl_for_code_point<CharT>{};
5947
    }
5948
    else if constexpr (std::is_same_v<T, std::string_view> ||
5949
                       std::is_same_v<T, std::wstring_view>) {
5950
        return reader_impl_for_string<CharT>{};
5951
    }
5952
    else if constexpr (std::is_same_v<T, std::string> ||
5953
1.71k
                       std::is_same_v<T, std::wstring>) {
5954
1.71k
        return reader_impl_for_string<CharT>{};
5955
    }
5956
#if !SCN_DISABLE_REGEX
5957
    else if constexpr (std::is_same_v<T, regex_matches> ||
5958
                       std::is_same_v<T, wregex_matches>) {
5959
        return reader_impl_for_regex_matches<CharT>{};
5960
    }
5961
#endif
5962
    else if constexpr (std::is_same_v<T, void*>) {
5963
        return reader_impl_for_voidptr<CharT>{};
5964
    }
5965
    else if constexpr (std::is_floating_point_v<T>) {
5966
        return reader_impl_for_float<CharT>{};
5967
    }
5968
    else if constexpr (std::is_same_v<T, signed char> ||
5969
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5970
                       std::is_same_v<T, long> ||
5971
                       std::is_same_v<T, long long> ||
5972
                       std::is_same_v<T, unsigned char> ||
5973
                       std::is_same_v<T, unsigned short> ||
5974
                       std::is_same_v<T, unsigned int> ||
5975
                       std::is_same_v<T, unsigned long> ||
5976
                       std::is_same_v<T, unsigned long long>
5977
#if SCN_HAS_INT128
5978
                       || std::is_same_v<T, int128> ||
5979
                       std::is_same_v<T, uint128>
5980
#endif
5981
    ) {
5982
        return reader_impl_for_int<CharT>{};
5983
    }
5984
    else {
5985
        return reader_impl_for_monostate<CharT>{};
5986
    }
5987
1.71k
}
auto scn::v4::impl::make_reader<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, wchar_t>()
Line
Count
Source
5935
1.71k
{
5936
    if constexpr (std::is_same_v<T, bool>) {
5937
        return reader_impl_for_bool<CharT>{};
5938
    }
5939
    else if constexpr (std::is_same_v<T, char>) {
5940
        return reader_impl_for_char<CharT>{};
5941
    }
5942
    else if constexpr (std::is_same_v<T, wchar_t>) {
5943
        return reader_impl_for_wchar<CharT>{};
5944
    }
5945
    else if constexpr (std::is_same_v<T, char32_t>) {
5946
        return reader_impl_for_code_point<CharT>{};
5947
    }
5948
    else if constexpr (std::is_same_v<T, std::string_view> ||
5949
                       std::is_same_v<T, std::wstring_view>) {
5950
        return reader_impl_for_string<CharT>{};
5951
    }
5952
    else if constexpr (std::is_same_v<T, std::string> ||
5953
1.71k
                       std::is_same_v<T, std::wstring>) {
5954
1.71k
        return reader_impl_for_string<CharT>{};
5955
    }
5956
#if !SCN_DISABLE_REGEX
5957
    else if constexpr (std::is_same_v<T, regex_matches> ||
5958
                       std::is_same_v<T, wregex_matches>) {
5959
        return reader_impl_for_regex_matches<CharT>{};
5960
    }
5961
#endif
5962
    else if constexpr (std::is_same_v<T, void*>) {
5963
        return reader_impl_for_voidptr<CharT>{};
5964
    }
5965
    else if constexpr (std::is_floating_point_v<T>) {
5966
        return reader_impl_for_float<CharT>{};
5967
    }
5968
    else if constexpr (std::is_same_v<T, signed char> ||
5969
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5970
                       std::is_same_v<T, long> ||
5971
                       std::is_same_v<T, long long> ||
5972
                       std::is_same_v<T, unsigned char> ||
5973
                       std::is_same_v<T, unsigned short> ||
5974
                       std::is_same_v<T, unsigned int> ||
5975
                       std::is_same_v<T, unsigned long> ||
5976
                       std::is_same_v<T, unsigned long long>
5977
#if SCN_HAS_INT128
5978
                       || std::is_same_v<T, int128> ||
5979
                       std::is_same_v<T, uint128>
5980
#endif
5981
    ) {
5982
        return reader_impl_for_int<CharT>{};
5983
    }
5984
    else {
5985
        return reader_impl_for_monostate<CharT>{};
5986
    }
5987
1.71k
}
Unexecuted instantiation: auto scn::v4::impl::make_reader<std::__1::basic_string_view<char, std::__1::char_traits<char> >, wchar_t>()
auto scn::v4::impl::make_reader<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, wchar_t>()
Line
Count
Source
5935
1.71k
{
5936
    if constexpr (std::is_same_v<T, bool>) {
5937
        return reader_impl_for_bool<CharT>{};
5938
    }
5939
    else if constexpr (std::is_same_v<T, char>) {
5940
        return reader_impl_for_char<CharT>{};
5941
    }
5942
    else if constexpr (std::is_same_v<T, wchar_t>) {
5943
        return reader_impl_for_wchar<CharT>{};
5944
    }
5945
    else if constexpr (std::is_same_v<T, char32_t>) {
5946
        return reader_impl_for_code_point<CharT>{};
5947
    }
5948
    else if constexpr (std::is_same_v<T, std::string_view> ||
5949
1.71k
                       std::is_same_v<T, std::wstring_view>) {
5950
1.71k
        return reader_impl_for_string<CharT>{};
5951
    }
5952
    else if constexpr (std::is_same_v<T, std::string> ||
5953
                       std::is_same_v<T, std::wstring>) {
5954
        return reader_impl_for_string<CharT>{};
5955
    }
5956
#if !SCN_DISABLE_REGEX
5957
    else if constexpr (std::is_same_v<T, regex_matches> ||
5958
                       std::is_same_v<T, wregex_matches>) {
5959
        return reader_impl_for_regex_matches<CharT>{};
5960
    }
5961
#endif
5962
    else if constexpr (std::is_same_v<T, void*>) {
5963
        return reader_impl_for_voidptr<CharT>{};
5964
    }
5965
    else if constexpr (std::is_floating_point_v<T>) {
5966
        return reader_impl_for_float<CharT>{};
5967
    }
5968
    else if constexpr (std::is_same_v<T, signed char> ||
5969
                       std::is_same_v<T, short> || std::is_same_v<T, int> ||
5970
                       std::is_same_v<T, long> ||
5971
                       std::is_same_v<T, long long> ||
5972
                       std::is_same_v<T, unsigned char> ||
5973
                       std::is_same_v<T, unsigned short> ||
5974
                       std::is_same_v<T, unsigned int> ||
5975
                       std::is_same_v<T, unsigned long> ||
5976
                       std::is_same_v<T, unsigned long long>
5977
#if SCN_HAS_INT128
5978
                       || std::is_same_v<T, int128> ||
5979
                       std::is_same_v<T, uint128>
5980
#endif
5981
    ) {
5982
        return reader_impl_for_int<CharT>{};
5983
    }
5984
    else {
5985
        return reader_impl_for_monostate<CharT>{};
5986
    }
5987
1.71k
}
Unexecuted instantiation: auto scn::v4::impl::make_reader<char, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<signed char, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<short, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<int, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<long, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<long long, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned char, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned short, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned int, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned long, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned long long, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<float, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<double, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<long double, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<scn::v4::basic_regex_matches<char>, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<scn::v4::basic_regex_matches<wchar_t>, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<wchar_t, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<signed char, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<short, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<int, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<long, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<long long, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned char, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned short, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned int, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned long, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned long long, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<float, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<double, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<long double, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<scn::v4::basic_regex_matches<char>, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<scn::v4::basic_regex_matches<wchar_t>, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<__int128, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned __int128, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<void*, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<bool, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<wchar_t, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<char32_t, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<scn::v4::monostate, char>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<__int128, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<unsigned __int128, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<void*, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<bool, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<char, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<char32_t, wchar_t>()
Unexecuted instantiation: auto scn::v4::impl::make_reader<scn::v4::monostate, wchar_t>()
5988
5989
template <typename Context>
5990
struct default_arg_reader {
5991
    using context_type = Context;
5992
    using char_type = typename context_type::char_type;
5993
    using args_type = basic_scan_args<detail::default_context<char_type>>;
5994
5995
    using range_type = typename context_type::range_type;
5996
    using iterator = ranges::iterator_t<range_type>;
5997
5998
    template <typename Reader, typename Range, typename T>
5999
    auto impl(Reader& rd, Range rng, T& value)
6000
        -> scan_expected<ranges::iterator_t<Range>>
6001
10.2k
    {
6002
10.2k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
10.2k
                        .transform_error(make_eof_scan_error));
6004
10.2k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
10.2k
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_aEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_sEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_iEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
644
    {
6002
644
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
644
                        .transform_error(make_eof_scan_error));
6004
644
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
644
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_lEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_xEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_nEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_hEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_tEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_jEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
644
    {
6002
644
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
644
                        .transform_error(make_eof_scan_error));
6004
644
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
644
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_mEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_yEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_oEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_23reader_impl_for_voidptrIcEESA_PvEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
6001
644
    {
6002
644
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
644
                        .transform_error(make_eof_scan_error));
6004
644
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
644
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_20reader_impl_for_boolIcEESA_bEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
644
    {
6002
644
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
644
                        .transform_error(make_eof_scan_error));
6004
644
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
644
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_20reader_impl_for_charIcEESA_cEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
644
    {
6002
644
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
644
                        .transform_error(make_eof_scan_error));
6004
644
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
644
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_wcharIcEESA_wEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_26reader_impl_for_code_pointIcEESA_DiEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_floatIcEESA_fEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_floatIcEESA_dEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
644
    {
6002
644
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
644
                        .transform_error(make_eof_scan_error));
6004
644
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
644
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_floatIcEESA_eEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_25reader_impl_for_monostateIcEESA_NS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_22reader_impl_for_stringIcEESA_NSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6001
644
    {
6002
644
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
644
                        .transform_error(make_eof_scan_error));
6004
644
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
644
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_22reader_impl_for_stringIcEESA_NSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6001
644
    {
6002
644
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
644
                        .transform_error(make_eof_scan_error));
6004
644
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
644
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_22reader_impl_for_stringIcEESA_NSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
6001
644
    {
6002
644
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
644
                        .transform_error(make_eof_scan_error));
6004
644
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
644
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEnEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEoEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_23reader_impl_for_voidptrIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_23reader_impl_for_voidptrIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_boolIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_boolIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_charIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_charIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_wcharIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_wcharIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_26reader_impl_for_code_pointIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_26reader_impl_for_code_pointIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_25reader_impl_for_monostateIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_25reader_impl_for_monostateIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIcNSK_11char_traitsIcEENSK_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENSB_12basic_stringIcSE_NSB_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIwNSK_11char_traitsIwEENSK_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENSB_12basic_stringIwNSD_IwEENSB_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__117basic_string_viewIcNSK_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SQ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEESF_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_aEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_sEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_iEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
490
    {
6002
490
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
490
                        .transform_error(make_eof_scan_error));
6004
490
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
490
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_lEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_xEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_nEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_hEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_tEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_jEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
490
    {
6002
490
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
490
                        .transform_error(make_eof_scan_error));
6004
490
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
490
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_mEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_yEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_oEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_23reader_impl_for_voidptrIwEESA_PvEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
6001
490
    {
6002
490
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
490
                        .transform_error(make_eof_scan_error));
6004
490
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
490
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_20reader_impl_for_boolIwEESA_bEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
490
    {
6002
490
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
490
                        .transform_error(make_eof_scan_error));
6004
490
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
490
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_20reader_impl_for_charIwEESA_cEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_wcharIwEESA_wEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
490
    {
6002
490
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
490
                        .transform_error(make_eof_scan_error));
6004
490
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
490
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_26reader_impl_for_code_pointIwEESA_DiEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_floatIwEESA_fEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_floatIwEESA_dEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6001
490
    {
6002
490
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
490
                        .transform_error(make_eof_scan_error));
6004
490
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
490
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_floatIwEESA_eEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_25reader_impl_for_monostateIwEESA_NS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_22reader_impl_for_stringIwEESA_NSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6001
490
    {
6002
490
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
490
                        .transform_error(make_eof_scan_error));
6004
490
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
490
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_22reader_impl_for_stringIwEESA_NSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6001
490
    {
6002
490
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
490
                        .transform_error(make_eof_scan_error));
6004
490
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
490
    }
_ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_22reader_impl_for_stringIwEESA_NSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
6001
490
    {
6002
490
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
6003
490
                        .transform_error(make_eof_scan_error));
6004
490
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
6005
490
    }
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEnEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEoEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_23reader_impl_for_voidptrIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_23reader_impl_for_voidptrIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_boolIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_boolIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_charIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_charIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_wcharIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_wcharIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_26reader_impl_for_code_pointIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_26reader_impl_for_code_pointIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_25reader_impl_for_monostateIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_25reader_impl_for_monostateIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIcNSK_11char_traitsIcEENSK_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENSB_12basic_stringIcNSD_IcEENSB_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIwNSK_11char_traitsIwEENSK_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENSB_12basic_stringIwSE_NSB_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__117basic_string_viewIwNSK_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SQ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl18default_arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEESF_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
6006
6007
    template <typename T>
6008
    scan_expected<iterator> operator()(T& value)
6009
10.2k
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
10.2k
                          basic_contiguous_scan_context<char_type>>) {
6014
10.2k
            auto rd = make_reader<T, char_type>();
6015
10.2k
            return impl(rd, range, value);
6016
        }
6017
0
        else if constexpr (!detail::is_type_disabled<T>) {
6018
0
            auto rd = make_reader<T, char_type>();
6019
0
            if (!is_segment_contiguous(range)) {
6020
0
                return impl(rd, range, value);
6021
0
            }
6022
0
            auto crange = get_as_contiguous(range);
6023
0
            SCN_TRY(it, impl(rd, crange, value));
6024
0
            return ranges::next(range.begin(),
6025
0
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
10.2k
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<short>(short&)
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<int>(int&)
Line
Count
Source
6009
644
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
644
                          basic_contiguous_scan_context<char_type>>) {
6014
644
            auto rd = make_reader<T, char_type>();
6015
644
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
644
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<long>(long&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned short>(unsigned short&)
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6009
644
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
644
                          basic_contiguous_scan_context<char_type>>) {
6014
644
            auto rd = make_reader<T, char_type>();
6015
644
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
644
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned __int128>(unsigned __int128&)
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<void*>(void*&)
Line
Count
Source
6009
644
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
644
                          basic_contiguous_scan_context<char_type>>) {
6014
644
            auto rd = make_reader<T, char_type>();
6015
644
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
644
    }
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<bool>(bool&)
Line
Count
Source
6009
644
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
644
                          basic_contiguous_scan_context<char_type>>) {
6014
644
            auto rd = make_reader<T, char_type>();
6015
644
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
644
    }
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<char>(char&)
Line
Count
Source
6009
644
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
644
                          basic_contiguous_scan_context<char_type>>) {
6014
644
            auto rd = make_reader<T, char_type>();
6015
644
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
644
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<float>(float&)
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<double>(double&)
Line
Count
Source
6009
644
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
644
                          basic_contiguous_scan_context<char_type>>) {
6014
644
            auto rd = make_reader<T, char_type>();
6015
644
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
644
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6009
644
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
644
                          basic_contiguous_scan_context<char_type>>) {
6014
644
            auto rd = make_reader<T, char_type>();
6015
644
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
644
    }
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6009
644
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
644
                          basic_contiguous_scan_context<char_type>>) {
6014
644
            auto rd = make_reader<T, char_type>();
6015
644
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
644
    }
scn::v4::scan_expected<char const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
6009
644
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
644
                          basic_contiguous_scan_context<char_type>>) {
6014
644
            auto rd = make_reader<T, char_type>();
6015
644
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
644
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<short>(short&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<int>(int&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long>(long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned short>(unsigned short&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned int>(unsigned int&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned __int128>(unsigned __int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<char>(char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<float>(float&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<double>(double&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<short>(short&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<int>(int&)
Line
Count
Source
6009
490
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
490
                          basic_contiguous_scan_context<char_type>>) {
6014
490
            auto rd = make_reader<T, char_type>();
6015
490
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
490
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<long>(long&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned short>(unsigned short&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6009
490
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
490
                          basic_contiguous_scan_context<char_type>>) {
6014
490
            auto rd = make_reader<T, char_type>();
6015
490
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
490
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned __int128>(unsigned __int128&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<void*>(void*&)
Line
Count
Source
6009
490
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
490
                          basic_contiguous_scan_context<char_type>>) {
6014
490
            auto rd = make_reader<T, char_type>();
6015
490
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
490
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<bool>(bool&)
Line
Count
Source
6009
490
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
490
                          basic_contiguous_scan_context<char_type>>) {
6014
490
            auto rd = make_reader<T, char_type>();
6015
490
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
490
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<char>(char&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<wchar_t>(wchar_t&)
Line
Count
Source
6009
490
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
490
                          basic_contiguous_scan_context<char_type>>) {
6014
490
            auto rd = make_reader<T, char_type>();
6015
490
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
490
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<float>(float&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<double>(double&)
Line
Count
Source
6009
490
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
490
                          basic_contiguous_scan_context<char_type>>) {
6014
490
            auto rd = make_reader<T, char_type>();
6015
490
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
490
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6009
490
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
490
                          basic_contiguous_scan_context<char_type>>) {
6014
490
            auto rd = make_reader<T, char_type>();
6015
490
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
490
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6009
490
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
490
                          basic_contiguous_scan_context<char_type>>) {
6014
490
            auto rd = make_reader<T, char_type>();
6015
490
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
490
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
6009
490
    {
6010
        if constexpr (!detail::is_type_disabled<T> &&
6011
                      std::is_same_v<
6012
                          context_type,
6013
490
                          basic_contiguous_scan_context<char_type>>) {
6014
490
            auto rd = make_reader<T, char_type>();
6015
490
            return impl(rd, range, value);
6016
        }
6017
        else if constexpr (!detail::is_type_disabled<T>) {
6018
            auto rd = make_reader<T, char_type>();
6019
            if (!is_segment_contiguous(range)) {
6020
                return impl(rd, range, value);
6021
            }
6022
            auto crange = get_as_contiguous(range);
6023
            SCN_TRY(it, impl(rd, crange, value));
6024
            return ranges::next(range.begin(),
6025
                                ranges::distance(crange.begin(), it));
6026
        }
6027
        else {
6028
            SCN_EXPECT(false);
6029
            SCN_UNREACHABLE;
6030
        }
6031
490
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<short>(short&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<int>(int&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long>(long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned short>(unsigned short&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned int>(unsigned int&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned __int128>(unsigned __int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<char>(char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<float>(float&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<double>(double&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
6032
6033
    detail::default_context<char_type> make_custom_ctx()
6034
0
    {
6035
        if constexpr (std::is_same_v<
6036
                          context_type,
6037
0
                          basic_contiguous_scan_context<char_type>>) {
6038
0
            auto it =
6039
0
                typename detail::basic_scan_buffer<char_type>::forward_iterator{
6040
0
                    std::basic_string_view<char_type>(range.data(),
6041
0
                                                      range.size()),
6042
0
                    0};
6043
0
            return {it, args, loc};
6044
        }
6045
0
        else {
6046
0
            return {range.begin(), args, loc};
6047
0
        }
6048
0
    }
Unexecuted instantiation: scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::make_custom_ctx()
Unexecuted instantiation: scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::make_custom_ctx()
Unexecuted instantiation: scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::make_custom_ctx()
Unexecuted instantiation: scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::make_custom_ctx()
6049
6050
    scan_expected<iterator> operator()(
6051
        typename basic_scan_arg<detail::default_context<char_type>>::handle h)
6052
0
    {
6053
0
        if constexpr (!detail::is_type_disabled<void>) {
6054
0
            basic_scan_parse_context<char_type> parse_ctx{
6055
0
                source_tag<range_type>, {}};
6056
0
            auto ctx = make_custom_ctx();
6057
0
            SCN_TRY_DISCARD(h.scan(parse_ctx, ctx));
6058
6059
            if constexpr (std::is_same_v<
6060
                              context_type,
6061
0
                              basic_contiguous_scan_context<char_type>>) {
6062
0
                return range.begin() + ctx.begin().position();
6063
            }
6064
0
            else {
6065
0
                return ctx.begin();
6066
0
            }
6067
        }
6068
        else {
6069
            SCN_EXPECT(false);
6070
            SCN_UNREACHABLE;
6071
        }
6072
0
    }
Unexecuted instantiation: scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle)
Unexecuted instantiation: scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle)
Unexecuted instantiation: scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle)
Unexecuted instantiation: scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle)
6073
6074
    range_type range;
6075
    args_type args;
6076
    detail::locale_ref loc;
6077
};
6078
6079
template <typename Iterator>
6080
using skip_fill_result = std::pair<Iterator, std::ptrdiff_t>;
6081
6082
template <typename Range>
6083
auto skip_fill(Range range,
6084
               std::ptrdiff_t max_width,
6085
               const detail::fill_type& fill,
6086
               bool want_skipped_width)
6087
    -> scan_expected<skip_fill_result<ranges::iterator_t<Range>>>
6088
4.25k
{
6089
4.25k
    using char_type = detail::char_t<Range>;
6090
4.25k
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6091
6092
4.25k
    if (fill.size() <= sizeof(char_type)) {
6093
2.82k
        const auto fill_ch = fill.template get_code_unit<char_type>();
6094
4.58k
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS8_9fill_typeEbENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEbENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEENS0_13scan_expectedINS4_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
_ZZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
Line
Count
Source
6094
886
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS8_9fill_typeEbENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEbENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEENS0_13scan_expectedINS4_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v44impl9skip_fillINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
_ZZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
Line
Count
Source
6094
2.20k
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
_ZZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
Line
Count
Source
6094
708
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
_ZZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
Line
Count
Source
6094
782
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
6095
6096
2.82k
        if (max_width == 0) {
6097
1.51k
            auto it = read_while_code_unit(range, pred);
6098
6099
1.51k
            if (want_skipped_width) {
6100
244
                auto prefix_width =
6101
244
                    static_cast<std::ptrdiff_t>(
6102
244
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
6103
244
                    ranges::distance(range.begin(), it);
6104
244
                return result_type{it, prefix_width};
6105
244
            }
6106
1.26k
            return result_type{it, 0};
6107
1.51k
        }
6108
6109
1.31k
        auto max_width_view = take_width(range, max_width);
6110
1.31k
        auto w_it = read_while_code_unit(max_width_view, pred);
6111
6112
1.31k
        if (want_skipped_width) {
6113
1.31k
            return result_type{w_it.base(), max_width - w_it.count()};
6114
1.31k
        }
6115
0
        return result_type{w_it.base(), 0};
6116
1.31k
    }
6117
6118
1.43k
    const auto fill_chars = fill.template get_code_units<char_type>();
6119
1.43k
    if (max_width == 0) {
6120
340
        auto it = read_while_code_units(range, fill_chars);
6121
6122
340
        if (want_skipped_width) {
6123
118
            auto prefix_width =
6124
118
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
6125
118
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
6126
118
            return result_type{it, prefix_width};
6127
118
        }
6128
222
        return result_type{it, 0};
6129
340
    }
6130
6131
1.09k
    auto max_width_view = take_width(range, max_width);
6132
1.09k
    auto w_it = read_while_code_units(max_width_view, fill_chars);
6133
6134
1.09k
    if (want_skipped_width) {
6135
1.09k
        return result_type{w_it.base(), max_width - w_it.count()};
6136
1.09k
    }
6137
0
    return result_type{w_it.base(), 0};
6138
1.09k
}
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS8_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEENS0_13scan_expectedINS4_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEb
_ZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Line
Count
Source
6088
1.14k
{
6089
1.14k
    using char_type = detail::char_t<Range>;
6090
1.14k
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6091
6092
1.14k
    if (fill.size() <= sizeof(char_type)) {
6093
468
        const auto fill_ch = fill.template get_code_unit<char_type>();
6094
468
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
6095
6096
468
        if (max_width == 0) {
6097
364
            auto it = read_while_code_unit(range, pred);
6098
6099
364
            if (want_skipped_width) {
6100
106
                auto prefix_width =
6101
106
                    static_cast<std::ptrdiff_t>(
6102
106
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
6103
106
                    ranges::distance(range.begin(), it);
6104
106
                return result_type{it, prefix_width};
6105
106
            }
6106
258
            return result_type{it, 0};
6107
364
        }
6108
6109
104
        auto max_width_view = take_width(range, max_width);
6110
104
        auto w_it = read_while_code_unit(max_width_view, pred);
6111
6112
104
        if (want_skipped_width) {
6113
104
            return result_type{w_it.base(), max_width - w_it.count()};
6114
104
        }
6115
0
        return result_type{w_it.base(), 0};
6116
104
    }
6117
6118
676
    const auto fill_chars = fill.template get_code_units<char_type>();
6119
676
    if (max_width == 0) {
6120
340
        auto it = read_while_code_units(range, fill_chars);
6121
6122
340
        if (want_skipped_width) {
6123
118
            auto prefix_width =
6124
118
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
6125
118
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
6126
118
            return result_type{it, prefix_width};
6127
118
        }
6128
222
        return result_type{it, 0};
6129
340
    }
6130
6131
336
    auto max_width_view = take_width(range, max_width);
6132
336
    auto w_it = read_while_code_units(max_width_view, fill_chars);
6133
6134
336
    if (want_skipped_width) {
6135
336
        return result_type{w_it.base(), max_width - w_it.count()};
6136
336
    }
6137
0
    return result_type{w_it.base(), 0};
6138
336
}
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS8_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEENS0_13scan_expectedINS4_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Unexecuted instantiation: _ZN3scn2v44impl9skip_fillINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEb
_ZN3scn2v44impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Line
Count
Source
6088
1.35k
{
6089
1.35k
    using char_type = detail::char_t<Range>;
6090
1.35k
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6091
6092
1.35k
    if (fill.size() <= sizeof(char_type)) {
6093
1.35k
        const auto fill_ch = fill.template get_code_unit<char_type>();
6094
1.35k
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
6095
6096
1.35k
        if (max_width == 0) {
6097
1.14k
            auto it = read_while_code_unit(range, pred);
6098
6099
1.14k
            if (want_skipped_width) {
6100
138
                auto prefix_width =
6101
138
                    static_cast<std::ptrdiff_t>(
6102
138
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
6103
138
                    ranges::distance(range.begin(), it);
6104
138
                return result_type{it, prefix_width};
6105
138
            }
6106
1.01k
            return result_type{it, 0};
6107
1.14k
        }
6108
6109
206
        auto max_width_view = take_width(range, max_width);
6110
206
        auto w_it = read_while_code_unit(max_width_view, pred);
6111
6112
206
        if (want_skipped_width) {
6113
206
            return result_type{w_it.base(), max_width - w_it.count()};
6114
206
        }
6115
0
        return result_type{w_it.base(), 0};
6116
206
    }
6117
6118
0
    const auto fill_chars = fill.template get_code_units<char_type>();
6119
0
    if (max_width == 0) {
6120
0
        auto it = read_while_code_units(range, fill_chars);
6121
6122
0
        if (want_skipped_width) {
6123
0
            auto prefix_width =
6124
0
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
6125
0
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
6126
0
            return result_type{it, prefix_width};
6127
0
        }
6128
0
        return result_type{it, 0};
6129
0
    }
6130
6131
0
    auto max_width_view = take_width(range, max_width);
6132
0
    auto w_it = read_while_code_units(max_width_view, fill_chars);
6133
6134
0
    if (want_skipped_width) {
6135
0
        return result_type{w_it.base(), max_width - w_it.count()};
6136
0
    }
6137
0
    return result_type{w_it.base(), 0};
6138
0
}
_ZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEb
Line
Count
Source
6088
1.24k
{
6089
1.24k
    using char_type = detail::char_t<Range>;
6090
1.24k
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6091
6092
1.24k
    if (fill.size() <= sizeof(char_type)) {
6093
492
        const auto fill_ch = fill.template get_code_unit<char_type>();
6094
492
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
6095
6096
492
        if (max_width == 0) {
6097
0
            auto it = read_while_code_unit(range, pred);
6098
6099
0
            if (want_skipped_width) {
6100
0
                auto prefix_width =
6101
0
                    static_cast<std::ptrdiff_t>(
6102
0
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
6103
0
                    ranges::distance(range.begin(), it);
6104
0
                return result_type{it, prefix_width};
6105
0
            }
6106
0
            return result_type{it, 0};
6107
0
        }
6108
6109
492
        auto max_width_view = take_width(range, max_width);
6110
492
        auto w_it = read_while_code_unit(max_width_view, pred);
6111
6112
492
        if (want_skipped_width) {
6113
492
            return result_type{w_it.base(), max_width - w_it.count()};
6114
492
        }
6115
0
        return result_type{w_it.base(), 0};
6116
492
    }
6117
6118
756
    const auto fill_chars = fill.template get_code_units<char_type>();
6119
756
    if (max_width == 0) {
6120
0
        auto it = read_while_code_units(range, fill_chars);
6121
6122
0
        if (want_skipped_width) {
6123
0
            auto prefix_width =
6124
0
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
6125
0
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
6126
0
            return result_type{it, prefix_width};
6127
0
        }
6128
0
        return result_type{it, 0};
6129
0
    }
6130
6131
756
    auto max_width_view = take_width(range, max_width);
6132
756
    auto w_it = read_while_code_units(max_width_view, fill_chars);
6133
6134
756
    if (want_skipped_width) {
6135
756
        return result_type{w_it.base(), max_width - w_it.count()};
6136
756
    }
6137
0
    return result_type{w_it.base(), 0};
6138
756
}
_ZN3scn2v44impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEb
Line
Count
Source
6088
510
{
6089
510
    using char_type = detail::char_t<Range>;
6090
510
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6091
6092
510
    if (fill.size() <= sizeof(char_type)) {
6093
510
        const auto fill_ch = fill.template get_code_unit<char_type>();
6094
510
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
6095
6096
510
        if (max_width == 0) {
6097
0
            auto it = read_while_code_unit(range, pred);
6098
6099
0
            if (want_skipped_width) {
6100
0
                auto prefix_width =
6101
0
                    static_cast<std::ptrdiff_t>(
6102
0
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
6103
0
                    ranges::distance(range.begin(), it);
6104
0
                return result_type{it, prefix_width};
6105
0
            }
6106
0
            return result_type{it, 0};
6107
0
        }
6108
6109
510
        auto max_width_view = take_width(range, max_width);
6110
510
        auto w_it = read_while_code_unit(max_width_view, pred);
6111
6112
510
        if (want_skipped_width) {
6113
510
            return result_type{w_it.base(), max_width - w_it.count()};
6114
510
        }
6115
0
        return result_type{w_it.base(), 0};
6116
510
    }
6117
6118
0
    const auto fill_chars = fill.template get_code_units<char_type>();
6119
0
    if (max_width == 0) {
6120
0
        auto it = read_while_code_units(range, fill_chars);
6121
6122
0
        if (want_skipped_width) {
6123
0
            auto prefix_width =
6124
0
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
6125
0
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
6126
0
            return result_type{it, prefix_width};
6127
0
        }
6128
0
        return result_type{it, 0};
6129
0
    }
6130
6131
0
    auto max_width_view = take_width(range, max_width);
6132
0
    auto w_it = read_while_code_units(max_width_view, fill_chars);
6133
6134
0
    if (want_skipped_width) {
6135
0
        return result_type{w_it.base(), max_width - w_it.count()};
6136
0
    }
6137
0
    return result_type{w_it.base(), 0};
6138
0
}
6139
6140
SCN_MAYBE_UNUSED constexpr scan_expected<void> check_widths_for_arg_reader(
6141
    const detail::format_specs& specs,
6142
    std::ptrdiff_t prefix_width,
6143
    std::ptrdiff_t value_width,
6144
    std::ptrdiff_t postfix_width)
6145
7.82k
{
6146
7.82k
    if (specs.width != 0) {
6147
2.11k
        if (prefix_width + value_width + postfix_width < specs.width) {
6148
910
            return detail::unexpected_scan_error(
6149
910
                scan_error::length_too_short,
6150
910
                "Scanned value too narrow, width did not exceed what "
6151
910
                "was specified in the format string");
6152
910
        }
6153
2.11k
    }
6154
6.91k
    if (specs.precision != 0) {
6155
        // Ensured by take_width_view
6156
2.96k
        SCN_ENSURE(prefix_width + value_width + postfix_width <=
6157
2.96k
                   specs.precision);
6158
2.96k
    }
6159
6.91k
    return {};
6160
6.91k
}
6161
6162
template <typename Context>
6163
struct arg_reader {
6164
    using context_type = Context;
6165
    using char_type = typename context_type::char_type;
6166
6167
    using range_type = typename context_type::range_type;
6168
    using iterator = ranges::iterator_t<range_type>;
6169
6170
    template <typename Range>
6171
    auto impl_prefix(Range rng, bool rd_skip_ws_before_read)
6172
        -> scan_expected<skip_fill_result<ranges::iterator_t<Range>>>
6173
17.8k
    {
6174
17.8k
        const bool need_skipped_width =
6175
17.8k
            specs.width != 0 || specs.precision != 0;
6176
17.8k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6177
6178
        // Read prefix
6179
17.8k
        if (specs.align == detail::align_type::right ||
6180
17.8k
            specs.align == detail::align_type::center) {
6181
3.02k
            return skip_fill(rng, specs.precision, specs.fill,
6182
3.02k
                             need_skipped_width);
6183
3.02k
        }
6184
14.7k
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6185
            // Default alignment:
6186
            // Skip preceding whitespace, if required by the reader
6187
7.73k
            if (specs.precision != 0) {
6188
3.39k
                auto max_width_view = take_width(rng, specs.precision);
6189
3.39k
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6190
3.04k
                                  .transform_error(make_eof_scan_error));
6191
3.04k
                return result_type{w_it.base(), specs.precision - w_it.count()};
6192
3.39k
            }
6193
8.66k
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6194
8.66k
                            make_eof_scan_error));
6195
6196
8.66k
            if (need_skipped_width) {
6197
2.97k
                return result_type{
6198
2.97k
                    it,
6199
2.97k
                    calculate_text_width(make_contiguous_buffer(
6200
2.97k
                                             ranges::subrange{rng.begin(), it})
6201
2.97k
                                             .view())};
6202
2.97k
            }
6203
1.35k
            return result_type{it, 0};
6204
8.66k
        }
6205
6206
7.05k
        return result_type{rng.begin(), 0};
6207
14.7k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE11impl_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRT_EEEElEEEESN_b
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE11impl_prefixINS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_b
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE11impl_prefixINS1_15take_width_viewINSt3__117basic_string_viewIcNSA_11char_traitsIcEEEEEEEENS0_13scan_expectedINSA_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_b
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE11impl_prefixINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEEENS0_13scan_expectedINS9_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE11impl_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRT_EEEElEEEESN_b
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE11impl_prefixINS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_b
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE11impl_prefixINS1_15take_width_viewINSt3__117basic_string_viewIwNSA_11char_traitsIwEEEEEEEENS0_13scan_expectedINSA_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_b
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE11impl_prefixINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEEENS0_13scan_expectedINS9_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE11impl_prefixINS1_15take_width_viewISA_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_b
Line
Count
Source
6173
4.90k
    {
6174
4.90k
        const bool need_skipped_width =
6175
4.90k
            specs.width != 0 || specs.precision != 0;
6176
4.90k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6177
6178
        // Read prefix
6179
4.90k
        if (specs.align == detail::align_type::right ||
6180
4.90k
            specs.align == detail::align_type::center) {
6181
1.24k
            return skip_fill(rng, specs.precision, specs.fill,
6182
1.24k
                             need_skipped_width);
6183
1.24k
        }
6184
3.65k
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6185
            // Default alignment:
6186
            // Skip preceding whitespace, if required by the reader
6187
2.19k
            if (specs.precision != 0) {
6188
2.19k
                auto max_width_view = take_width(rng, specs.precision);
6189
2.19k
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6190
1.95k
                                  .transform_error(make_eof_scan_error));
6191
1.95k
                return result_type{w_it.base(), specs.precision - w_it.count()};
6192
2.19k
            }
6193
0
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6194
0
                            make_eof_scan_error));
6195
6196
0
            if (need_skipped_width) {
6197
0
                return result_type{
6198
0
                    it,
6199
0
                    calculate_text_width(make_contiguous_buffer(
6200
0
                                             ranges::subrange{rng.begin(), it})
6201
0
                                             .view())};
6202
0
            }
6203
0
            return result_type{it, 0};
6204
0
        }
6205
6206
1.46k
        return result_type{rng.begin(), 0};
6207
3.65k
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE11impl_prefixISA_EENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
Line
Count
Source
6173
5.99k
    {
6174
5.99k
        const bool need_skipped_width =
6175
5.99k
            specs.width != 0 || specs.precision != 0;
6176
5.99k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6177
6178
        // Read prefix
6179
5.99k
        if (specs.align == detail::align_type::right ||
6180
5.99k
            specs.align == detail::align_type::center) {
6181
474
            return skip_fill(rng, specs.precision, specs.fill,
6182
474
                             need_skipped_width);
6183
474
        }
6184
5.52k
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6185
            // Default alignment:
6186
            // Skip preceding whitespace, if required by the reader
6187
1.73k
            if (specs.precision != 0) {
6188
0
                auto max_width_view = take_width(rng, specs.precision);
6189
0
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6190
0
                                  .transform_error(make_eof_scan_error));
6191
0
                return result_type{w_it.base(), specs.precision - w_it.count()};
6192
0
            }
6193
3.46k
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6194
3.46k
                            make_eof_scan_error));
6195
6196
3.46k
            if (need_skipped_width) {
6197
1.11k
                return result_type{
6198
1.11k
                    it,
6199
1.11k
                    calculate_text_width(make_contiguous_buffer(
6200
1.11k
                                             ranges::subrange{rng.begin(), it})
6201
1.11k
                                             .view())};
6202
1.11k
            }
6203
622
            return result_type{it, 0};
6204
3.46k
        }
6205
6206
3.79k
        return result_type{rng.begin(), 0};
6207
5.52k
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE11impl_prefixINS1_15take_width_viewISA_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_b
Line
Count
Source
6173
2.48k
    {
6174
2.48k
        const bool need_skipped_width =
6175
2.48k
            specs.width != 0 || specs.precision != 0;
6176
2.48k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6177
6178
        // Read prefix
6179
2.48k
        if (specs.align == detail::align_type::right ||
6180
2.48k
            specs.align == detail::align_type::center) {
6181
510
            return skip_fill(rng, specs.precision, specs.fill,
6182
510
                             need_skipped_width);
6183
510
        }
6184
1.97k
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6185
            // Default alignment:
6186
            // Skip preceding whitespace, if required by the reader
6187
1.20k
            if (specs.precision != 0) {
6188
1.20k
                auto max_width_view = take_width(rng, specs.precision);
6189
1.20k
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6190
1.08k
                                  .transform_error(make_eof_scan_error));
6191
1.08k
                return result_type{w_it.base(), specs.precision - w_it.count()};
6192
1.20k
            }
6193
0
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6194
0
                            make_eof_scan_error));
6195
6196
0
            if (need_skipped_width) {
6197
0
                return result_type{
6198
0
                    it,
6199
0
                    calculate_text_width(make_contiguous_buffer(
6200
0
                                             ranges::subrange{rng.begin(), it})
6201
0
                                             .view())};
6202
0
            }
6203
0
            return result_type{it, 0};
6204
0
        }
6205
6206
770
        return result_type{rng.begin(), 0};
6207
1.97k
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE11impl_prefixISA_EENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
Line
Count
Source
6173
4.42k
    {
6174
4.42k
        const bool need_skipped_width =
6175
4.42k
            specs.width != 0 || specs.precision != 0;
6176
4.42k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6177
6178
        // Read prefix
6179
4.42k
        if (specs.align == detail::align_type::right ||
6180
4.42k
            specs.align == detail::align_type::center) {
6181
788
            return skip_fill(rng, specs.precision, specs.fill,
6182
788
                             need_skipped_width);
6183
788
        }
6184
3.63k
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6185
            // Default alignment:
6186
            // Skip preceding whitespace, if required by the reader
6187
2.60k
            if (specs.precision != 0) {
6188
0
                auto max_width_view = take_width(rng, specs.precision);
6189
0
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6190
0
                                  .transform_error(make_eof_scan_error));
6191
0
                return result_type{w_it.base(), specs.precision - w_it.count()};
6192
0
            }
6193
5.20k
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6194
5.20k
                            make_eof_scan_error));
6195
6196
5.20k
            if (need_skipped_width) {
6197
1.86k
                return result_type{
6198
1.86k
                    it,
6199
1.86k
                    calculate_text_width(make_contiguous_buffer(
6200
1.86k
                                             ranges::subrange{rng.begin(), it})
6201
1.86k
                                             .view())};
6202
1.86k
            }
6203
736
            return result_type{it, 0};
6204
5.20k
        }
6205
6206
1.03k
        return result_type{rng.begin(), 0};
6207
3.63k
    }
6208
6209
    template <typename Range>
6210
    auto impl_postfix(Range rng,
6211
                      bool rd_skip_ws_before_read,
6212
                      std::ptrdiff_t prefix_width,
6213
                      std::ptrdiff_t value_width)
6214
        -> scan_expected<skip_fill_result<ranges::iterator_t<Range>>>
6215
5.70k
    {
6216
5.70k
        const bool need_skipped_width =
6217
5.70k
            specs.width != 0 || specs.precision != 0;
6218
5.70k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6219
6220
5.70k
        if (specs.align == detail::align_type::left ||
6221
5.70k
            specs.align == detail::align_type::center) {
6222
1.53k
            if (specs.precision != 0 &&
6223
1.53k
                specs.precision - value_width - prefix_width == 0) {
6224
296
                return result_type{rng.begin(), 0};
6225
296
            }
6226
1.23k
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6227
1.23k
                             specs.fill, need_skipped_width);
6228
1.53k
        }
6229
4.17k
        if (specs.align == detail::align_type::none &&
6230
4.17k
            !rd_skip_ws_before_read &&
6231
4.17k
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6232
3.32k
             (specs.precision != 0 &&
6233
2.78k
              prefix_width + value_width < specs.precision))) {
6234
1.53k
            if (specs.precision != 0) {
6235
994
                const auto initial_width =
6236
994
                    specs.precision - prefix_width - value_width;
6237
994
                auto max_width_view = take_width(rng, initial_width);
6238
994
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6239
994
                                  .transform_error(make_eof_scan_error));
6240
994
                return result_type{w_it.base(), initial_width - w_it.count()};
6241
994
            }
6242
1.08k
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6243
1.08k
                            make_eof_scan_error));
6244
6245
1.08k
            if (need_skipped_width) {
6246
540
                return result_type{
6247
540
                    it,
6248
540
                    calculate_text_width(make_contiguous_buffer(
6249
540
                                             ranges::subrange{rng.begin(), it})
6250
540
                                             .view())};
6251
540
            }
6252
0
            return result_type{it, 0};
6253
1.08k
        }
6254
2.64k
        return result_type{rng.begin(), 0};
6255
4.17k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_bll
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_bll
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_bll
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_bll
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE12impl_postfixISA_EENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_bll
Line
Count
Source
6215
3.27k
    {
6216
3.27k
        const bool need_skipped_width =
6217
3.27k
            specs.width != 0 || specs.precision != 0;
6218
3.27k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6219
6220
3.27k
        if (specs.align == detail::align_type::left ||
6221
3.27k
            specs.align == detail::align_type::center) {
6222
824
            if (specs.precision != 0 &&
6223
824
                specs.precision - value_width - prefix_width == 0) {
6224
154
                return result_type{rng.begin(), 0};
6225
154
            }
6226
670
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6227
670
                             specs.fill, need_skipped_width);
6228
824
        }
6229
2.44k
        if (specs.align == detail::align_type::none &&
6230
2.44k
            !rd_skip_ws_before_read &&
6231
2.44k
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6232
1.99k
             (specs.precision != 0 &&
6233
1.83k
              prefix_width + value_width < specs.precision))) {
6234
716
            if (specs.precision != 0) {
6235
556
                const auto initial_width =
6236
556
                    specs.precision - prefix_width - value_width;
6237
556
                auto max_width_view = take_width(rng, initial_width);
6238
556
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6239
556
                                  .transform_error(make_eof_scan_error));
6240
556
                return result_type{w_it.base(), initial_width - w_it.count()};
6241
556
            }
6242
320
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6243
320
                            make_eof_scan_error));
6244
6245
320
            if (need_skipped_width) {
6246
160
                return result_type{
6247
160
                    it,
6248
160
                    calculate_text_width(make_contiguous_buffer(
6249
160
                                             ranges::subrange{rng.begin(), it})
6250
160
                                             .view())};
6251
160
            }
6252
0
            return result_type{it, 0};
6253
320
        }
6254
1.73k
        return result_type{rng.begin(), 0};
6255
2.44k
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE12impl_postfixISA_EENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_bll
Line
Count
Source
6215
2.43k
    {
6216
2.43k
        const bool need_skipped_width =
6217
2.43k
            specs.width != 0 || specs.precision != 0;
6218
2.43k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6219
6220
2.43k
        if (specs.align == detail::align_type::left ||
6221
2.43k
            specs.align == detail::align_type::center) {
6222
708
            if (specs.precision != 0 &&
6223
708
                specs.precision - value_width - prefix_width == 0) {
6224
142
                return result_type{rng.begin(), 0};
6225
142
            }
6226
566
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6227
566
                             specs.fill, need_skipped_width);
6228
708
        }
6229
1.72k
        if (specs.align == detail::align_type::none &&
6230
1.72k
            !rd_skip_ws_before_read &&
6231
1.72k
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6232
1.32k
             (specs.precision != 0 &&
6233
948
              prefix_width + value_width < specs.precision))) {
6234
818
            if (specs.precision != 0) {
6235
438
                const auto initial_width =
6236
438
                    specs.precision - prefix_width - value_width;
6237
438
                auto max_width_view = take_width(rng, initial_width);
6238
438
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6239
438
                                  .transform_error(make_eof_scan_error));
6240
438
                return result_type{w_it.base(), initial_width - w_it.count()};
6241
438
            }
6242
760
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6243
760
                            make_eof_scan_error));
6244
6245
760
            if (need_skipped_width) {
6246
380
                return result_type{
6247
380
                    it,
6248
380
                    calculate_text_width(make_contiguous_buffer(
6249
380
                                             ranges::subrange{rng.begin(), it})
6250
380
                                             .view())};
6251
380
            }
6252
0
            return result_type{it, 0};
6253
760
        }
6254
910
        return result_type{rng.begin(), 0};
6255
1.72k
    }
6256
6257
    template <typename Reader, typename Range, typename T>
6258
    auto impl(Reader& rd, Range rng, T& value)
6259
        -> scan_expected<ranges::iterator_t<Range>>
6260
17.8k
    {
6261
17.8k
        const bool need_skipped_width =
6262
17.8k
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
17.8k
        auto it = rng.begin();
6266
17.8k
        std::ptrdiff_t prefix_width = 0;
6267
17.8k
        if (specs.precision != 0) {
6268
7.38k
            auto max_width_view = take_width(rng, specs.precision);
6269
7.38k
            SCN_TRY(prefix_result,
6270
7.03k
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
7.03k
            it = prefix_result.first.base();
6272
7.03k
            prefix_width = prefix_result.second;
6273
7.03k
        }
6274
10.4k
        else {
6275
10.4k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
10.4k
            std::tie(it, prefix_width) = prefix_result;
6277
10.4k
        }
6278
17.4k
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
17.4k
        std::ptrdiff_t value_width = 0;
6282
17.4k
        if (specs.precision != 0) {
6283
7.03k
            if (specs.precision <= prefix_width) {
6284
104
                return detail::unexpected_scan_error(
6285
104
                    scan_error::invalid_fill,
6286
104
                    "Too many fill characters before value, "
6287
104
                    "precision exceeded before reading value");
6288
104
            }
6289
6290
6.92k
            const auto initial_width = specs.precision - prefix_width;
6291
6.92k
            auto max_width_view =
6292
6.92k
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
6.92k
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
2.96k
            it = w_it.base();
6295
2.96k
            value_width = initial_width - w_it.count();
6296
2.96k
        }
6297
10.4k
        else {
6298
10.4k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
4.85k
                                             specs, value, loc));
6300
6301
4.85k
            if (need_skipped_width) {
6302
2.04k
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
2.04k
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
2.04k
                        .view()));
6305
2.04k
            }
6306
4.85k
        }
6307
6308
        // Read postfix
6309
7.82k
        std::ptrdiff_t postfix_width = 0;
6310
7.82k
        if (it != rng.end()) {
6311
5.70k
            SCN_TRY(postfix_result,
6312
5.70k
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
5.70k
                                 rd.skip_ws_before_read(), prefix_width,
6314
5.70k
                                 value_width));
6315
5.70k
            std::tie(it, postfix_width) = postfix_result;
6316
5.70k
        }
6317
6318
7.82k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
7.82k
            specs, prefix_width, value_width, postfix_width));
6320
6.91k
        return it;
6321
7.82k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_charIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_charIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIcNSK_11char_traitsIcEENSK_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENSB_12basic_stringIcSE_NSB_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIwNSK_11char_traitsIwEENSK_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENSB_12basic_stringIwNSD_IwEENSB_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__117basic_string_viewIcNSK_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SQ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEESF_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENSt3__117basic_string_viewIwNSK_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SQ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENSC_IwNSD_IwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_29reader_impl_for_regex_matchesIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_29reader_impl_for_regex_matchesIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_wcharIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_wcharIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIcNSK_11char_traitsIcEENSK_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENSB_12basic_stringIcNSD_IcEENSB_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__112basic_stringIwNSK_11char_traitsIwEENSK_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SS_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENSB_12basic_stringIwSE_NSB_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__117basic_string_viewIcNSK_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SQ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENSC_IcNSD_IcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENSt3__117basic_string_viewIwNSK_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SQ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEESF_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_29reader_impl_for_regex_matchesIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SN_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_29reader_impl_for_regex_matchesIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_aEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_sEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_iEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
680
    {
6261
680
        const bool need_skipped_width =
6262
680
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
680
        auto it = rng.begin();
6266
680
        std::ptrdiff_t prefix_width = 0;
6267
680
        if (specs.precision != 0) {
6268
382
            auto max_width_view = take_width(rng, specs.precision);
6269
382
            SCN_TRY(prefix_result,
6270
350
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
350
            it = prefix_result.first.base();
6272
350
            prefix_width = prefix_result.second;
6273
350
        }
6274
298
        else {
6275
298
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
298
            std::tie(it, prefix_width) = prefix_result;
6277
298
        }
6278
648
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
648
        std::ptrdiff_t value_width = 0;
6282
648
        if (specs.precision != 0) {
6283
350
            if (specs.precision <= prefix_width) {
6284
6
                return detail::unexpected_scan_error(
6285
6
                    scan_error::invalid_fill,
6286
6
                    "Too many fill characters before value, "
6287
6
                    "precision exceeded before reading value");
6288
6
            }
6289
6290
344
            const auto initial_width = specs.precision - prefix_width;
6291
344
            auto max_width_view =
6292
344
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
344
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
0
            it = w_it.base();
6295
0
            value_width = initial_width - w_it.count();
6296
0
        }
6297
298
        else {
6298
298
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
0
                                             specs, value, loc));
6300
6301
0
            if (need_skipped_width) {
6302
0
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
0
                        .view()));
6305
0
            }
6306
0
        }
6307
6308
        // Read postfix
6309
0
        std::ptrdiff_t postfix_width = 0;
6310
0
        if (it != rng.end()) {
6311
0
            SCN_TRY(postfix_result,
6312
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
0
                                 rd.skip_ws_before_read(), prefix_width,
6314
0
                                 value_width));
6315
0
            std::tie(it, postfix_width) = postfix_result;
6316
0
        }
6317
6318
0
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
0
            specs, prefix_width, value_width, postfix_width));
6320
0
        return it;
6321
0
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_lEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_xEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_nEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_hEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_tEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_jEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
680
    {
6261
680
        const bool need_skipped_width =
6262
680
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
680
        auto it = rng.begin();
6266
680
        std::ptrdiff_t prefix_width = 0;
6267
680
        if (specs.precision != 0) {
6268
382
            auto max_width_view = take_width(rng, specs.precision);
6269
382
            SCN_TRY(prefix_result,
6270
350
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
350
            it = prefix_result.first.base();
6272
350
            prefix_width = prefix_result.second;
6273
350
        }
6274
298
        else {
6275
298
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
298
            std::tie(it, prefix_width) = prefix_result;
6277
298
        }
6278
648
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
648
        std::ptrdiff_t value_width = 0;
6282
648
        if (specs.precision != 0) {
6283
350
            if (specs.precision <= prefix_width) {
6284
6
                return detail::unexpected_scan_error(
6285
6
                    scan_error::invalid_fill,
6286
6
                    "Too many fill characters before value, "
6287
6
                    "precision exceeded before reading value");
6288
6
            }
6289
6290
344
            const auto initial_width = specs.precision - prefix_width;
6291
344
            auto max_width_view =
6292
344
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
344
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
0
            it = w_it.base();
6295
0
            value_width = initial_width - w_it.count();
6296
0
        }
6297
298
        else {
6298
298
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
0
                                             specs, value, loc));
6300
6301
0
            if (need_skipped_width) {
6302
0
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
0
                        .view()));
6305
0
            }
6306
0
        }
6307
6308
        // Read postfix
6309
0
        std::ptrdiff_t postfix_width = 0;
6310
0
        if (it != rng.end()) {
6311
0
            SCN_TRY(postfix_result,
6312
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
0
                                 rd.skip_ws_before_read(), prefix_width,
6314
0
                                 value_width));
6315
0
            std::tie(it, postfix_width) = postfix_result;
6316
0
        }
6317
6318
0
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
0
            specs, prefix_width, value_width, postfix_width));
6320
0
        return it;
6321
0
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_mEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_yEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_19reader_impl_for_intIcEESA_oEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_23reader_impl_for_voidptrIcEESA_PvEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
6260
604
    {
6261
604
        const bool need_skipped_width =
6262
604
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
604
        auto it = rng.begin();
6266
604
        std::ptrdiff_t prefix_width = 0;
6267
604
        if (specs.precision != 0) {
6268
334
            auto max_width_view = take_width(rng, specs.precision);
6269
334
            SCN_TRY(prefix_result,
6270
310
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
310
            it = prefix_result.first.base();
6272
310
            prefix_width = prefix_result.second;
6273
310
        }
6274
270
        else {
6275
270
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
270
            std::tie(it, prefix_width) = prefix_result;
6277
270
        }
6278
580
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
580
        std::ptrdiff_t value_width = 0;
6282
580
        if (specs.precision != 0) {
6283
310
            if (specs.precision <= prefix_width) {
6284
4
                return detail::unexpected_scan_error(
6285
4
                    scan_error::invalid_fill,
6286
4
                    "Too many fill characters before value, "
6287
4
                    "precision exceeded before reading value");
6288
4
            }
6289
6290
306
            const auto initial_width = specs.precision - prefix_width;
6291
306
            auto max_width_view =
6292
306
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
306
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
0
            it = w_it.base();
6295
0
            value_width = initial_width - w_it.count();
6296
0
        }
6297
270
        else {
6298
270
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
0
                                             specs, value, loc));
6300
6301
0
            if (need_skipped_width) {
6302
0
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
0
                        .view()));
6305
0
            }
6306
0
        }
6307
6308
        // Read postfix
6309
0
        std::ptrdiff_t postfix_width = 0;
6310
0
        if (it != rng.end()) {
6311
0
            SCN_TRY(postfix_result,
6312
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
0
                                 rd.skip_ws_before_read(), prefix_width,
6314
0
                                 value_width));
6315
0
            std::tie(it, postfix_width) = postfix_result;
6316
0
        }
6317
6318
0
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
0
            specs, prefix_width, value_width, postfix_width));
6320
0
        return it;
6321
0
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_20reader_impl_for_boolIcEESA_bEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
944
    {
6261
944
        const bool need_skipped_width =
6262
944
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
944
        auto it = rng.begin();
6266
944
        std::ptrdiff_t prefix_width = 0;
6267
944
        if (specs.precision != 0) {
6268
510
            auto max_width_view = take_width(rng, specs.precision);
6269
510
            SCN_TRY(prefix_result,
6270
474
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
474
            it = prefix_result.first.base();
6272
474
            prefix_width = prefix_result.second;
6273
474
        }
6274
434
        else {
6275
434
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
434
            std::tie(it, prefix_width) = prefix_result;
6277
434
        }
6278
908
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
908
        std::ptrdiff_t value_width = 0;
6282
908
        if (specs.precision != 0) {
6283
474
            if (specs.precision <= prefix_width) {
6284
10
                return detail::unexpected_scan_error(
6285
10
                    scan_error::invalid_fill,
6286
10
                    "Too many fill characters before value, "
6287
10
                    "precision exceeded before reading value");
6288
10
            }
6289
6290
464
            const auto initial_width = specs.precision - prefix_width;
6291
464
            auto max_width_view =
6292
464
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
464
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
0
            it = w_it.base();
6295
0
            value_width = initial_width - w_it.count();
6296
0
        }
6297
434
        else {
6298
434
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
0
                                             specs, value, loc));
6300
6301
0
            if (need_skipped_width) {
6302
0
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
0
                        .view()));
6305
0
            }
6306
0
        }
6307
6308
        // Read postfix
6309
0
        std::ptrdiff_t postfix_width = 0;
6310
0
        if (it != rng.end()) {
6311
0
            SCN_TRY(postfix_result,
6312
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
0
                                 rd.skip_ws_before_read(), prefix_width,
6314
0
                                 value_width));
6315
0
            std::tie(it, postfix_width) = postfix_result;
6316
0
        }
6317
6318
0
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
0
            specs, prefix_width, value_width, postfix_width));
6320
0
        return it;
6321
0
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_20reader_impl_for_charIcEESA_cEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
658
    {
6261
658
        const bool need_skipped_width =
6262
658
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
658
        auto it = rng.begin();
6266
658
        std::ptrdiff_t prefix_width = 0;
6267
658
        if (specs.precision != 0) {
6268
370
            auto max_width_view = take_width(rng, specs.precision);
6269
370
            SCN_TRY(prefix_result,
6270
370
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
370
            it = prefix_result.first.base();
6272
370
            prefix_width = prefix_result.second;
6273
370
        }
6274
288
        else {
6275
288
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
288
            std::tie(it, prefix_width) = prefix_result;
6277
288
        }
6278
658
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
658
        std::ptrdiff_t value_width = 0;
6282
658
        if (specs.precision != 0) {
6283
370
            if (specs.precision <= prefix_width) {
6284
6
                return detail::unexpected_scan_error(
6285
6
                    scan_error::invalid_fill,
6286
6
                    "Too many fill characters before value, "
6287
6
                    "precision exceeded before reading value");
6288
6
            }
6289
6290
364
            const auto initial_width = specs.precision - prefix_width;
6291
364
            auto max_width_view =
6292
364
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
364
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
328
            it = w_it.base();
6295
328
            value_width = initial_width - w_it.count();
6296
328
        }
6297
288
        else {
6298
288
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
266
                                             specs, value, loc));
6300
6301
266
            if (need_skipped_width) {
6302
200
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
200
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
200
                        .view()));
6305
200
            }
6306
266
        }
6307
6308
        // Read postfix
6309
594
        std::ptrdiff_t postfix_width = 0;
6310
594
        if (it != rng.end()) {
6311
594
            SCN_TRY(postfix_result,
6312
594
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
594
                                 rd.skip_ws_before_read(), prefix_width,
6314
594
                                 value_width));
6315
594
            std::tie(it, postfix_width) = postfix_result;
6316
594
        }
6317
6318
594
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
594
            specs, prefix_width, value_width, postfix_width));
6320
418
        return it;
6321
594
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_wcharIcEESA_wEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_26reader_impl_for_code_pointIcEESA_DiEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_floatIcEESA_fEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_floatIcEESA_dEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
694
    {
6261
694
        const bool need_skipped_width =
6262
694
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
694
        auto it = rng.begin();
6266
694
        std::ptrdiff_t prefix_width = 0;
6267
694
        if (specs.precision != 0) {
6268
394
            auto max_width_view = take_width(rng, specs.precision);
6269
394
            SCN_TRY(prefix_result,
6270
364
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
364
            it = prefix_result.first.base();
6272
364
            prefix_width = prefix_result.second;
6273
364
        }
6274
300
        else {
6275
300
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
300
            std::tie(it, prefix_width) = prefix_result;
6277
300
        }
6278
664
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
664
        std::ptrdiff_t value_width = 0;
6282
664
        if (specs.precision != 0) {
6283
364
            if (specs.precision <= prefix_width) {
6284
8
                return detail::unexpected_scan_error(
6285
8
                    scan_error::invalid_fill,
6286
8
                    "Too many fill characters before value, "
6287
8
                    "precision exceeded before reading value");
6288
8
            }
6289
6290
356
            const auto initial_width = specs.precision - prefix_width;
6291
356
            auto max_width_view =
6292
356
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
356
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
0
            it = w_it.base();
6295
0
            value_width = initial_width - w_it.count();
6296
0
        }
6297
300
        else {
6298
300
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
0
                                             specs, value, loc));
6300
6301
0
            if (need_skipped_width) {
6302
0
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
0
                        .view()));
6305
0
            }
6306
0
        }
6307
6308
        // Read postfix
6309
0
        std::ptrdiff_t postfix_width = 0;
6310
0
        if (it != rng.end()) {
6311
0
            SCN_TRY(postfix_result,
6312
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
0
                                 rd.skip_ws_before_read(), prefix_width,
6314
0
                                 value_width));
6315
0
            std::tie(it, postfix_width) = postfix_result;
6316
0
        }
6317
6318
0
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
0
            specs, prefix_width, value_width, postfix_width));
6320
0
        return it;
6321
0
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_21reader_impl_for_floatIcEESA_eEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_25reader_impl_for_monostateIcEESA_NS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_22reader_impl_for_stringIcEESA_NSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6260
2.21k
    {
6261
2.21k
        const bool need_skipped_width =
6262
2.21k
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
2.21k
        auto it = rng.begin();
6266
2.21k
        std::ptrdiff_t prefix_width = 0;
6267
2.21k
        if (specs.precision != 0) {
6268
844
            auto max_width_view = take_width(rng, specs.precision);
6269
844
            SCN_TRY(prefix_result,
6270
816
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
816
            it = prefix_result.first.base();
6272
816
            prefix_width = prefix_result.second;
6273
816
        }
6274
1.37k
        else {
6275
1.37k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
1.37k
            std::tie(it, prefix_width) = prefix_result;
6277
1.37k
        }
6278
2.18k
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
2.18k
        std::ptrdiff_t value_width = 0;
6282
2.18k
        if (specs.precision != 0) {
6283
816
            if (specs.precision <= prefix_width) {
6284
10
                return detail::unexpected_scan_error(
6285
10
                    scan_error::invalid_fill,
6286
10
                    "Too many fill characters before value, "
6287
10
                    "precision exceeded before reading value");
6288
10
            }
6289
6290
806
            const auto initial_width = specs.precision - prefix_width;
6291
806
            auto max_width_view =
6292
806
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
806
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
482
            it = w_it.base();
6295
482
            value_width = initial_width - w_it.count();
6296
482
        }
6297
1.37k
        else {
6298
1.37k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
770
                                             specs, value, loc));
6300
6301
770
            if (need_skipped_width) {
6302
214
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
214
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
214
                        .view()));
6305
214
            }
6306
770
        }
6307
6308
        // Read postfix
6309
1.25k
        std::ptrdiff_t postfix_width = 0;
6310
1.25k
        if (it != rng.end()) {
6311
892
            SCN_TRY(postfix_result,
6312
892
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
892
                                 rd.skip_ws_before_read(), prefix_width,
6314
892
                                 value_width));
6315
892
            std::tie(it, postfix_width) = postfix_result;
6316
892
        }
6317
6318
1.25k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
1.25k
            specs, prefix_width, value_width, postfix_width));
6320
1.16k
        return it;
6321
1.25k
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_22reader_impl_for_stringIcEESA_NSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6260
2.21k
    {
6261
2.21k
        const bool need_skipped_width =
6262
2.21k
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
2.21k
        auto it = rng.begin();
6266
2.21k
        std::ptrdiff_t prefix_width = 0;
6267
2.21k
        if (specs.precision != 0) {
6268
844
            auto max_width_view = take_width(rng, specs.precision);
6269
844
            SCN_TRY(prefix_result,
6270
816
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
816
            it = prefix_result.first.base();
6272
816
            prefix_width = prefix_result.second;
6273
816
        }
6274
1.37k
        else {
6275
1.37k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
1.37k
            std::tie(it, prefix_width) = prefix_result;
6277
1.37k
        }
6278
2.18k
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
2.18k
        std::ptrdiff_t value_width = 0;
6282
2.18k
        if (specs.precision != 0) {
6283
816
            if (specs.precision <= prefix_width) {
6284
10
                return detail::unexpected_scan_error(
6285
10
                    scan_error::invalid_fill,
6286
10
                    "Too many fill characters before value, "
6287
10
                    "precision exceeded before reading value");
6288
10
            }
6289
6290
806
            const auto initial_width = specs.precision - prefix_width;
6291
806
            auto max_width_view =
6292
806
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
806
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
482
            it = w_it.base();
6295
482
            value_width = initial_width - w_it.count();
6296
482
        }
6297
1.37k
        else {
6298
1.37k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
770
                                             specs, value, loc));
6300
6301
770
            if (need_skipped_width) {
6302
214
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
214
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
214
                        .view()));
6305
214
            }
6306
770
        }
6307
6308
        // Read postfix
6309
1.25k
        std::ptrdiff_t postfix_width = 0;
6310
1.25k
        if (it != rng.end()) {
6311
892
            SCN_TRY(postfix_result,
6312
892
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
892
                                 rd.skip_ws_before_read(), prefix_width,
6314
892
                                 value_width));
6315
892
            std::tie(it, postfix_width) = postfix_result;
6316
892
        }
6317
6318
1.25k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
1.25k
            specs, prefix_width, value_width, postfix_width));
6320
1.16k
        return it;
6321
1.25k
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEcEEE4implINS1_22reader_impl_for_stringIcEESA_NSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
6260
2.21k
    {
6261
2.21k
        const bool need_skipped_width =
6262
2.21k
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
2.21k
        auto it = rng.begin();
6266
2.21k
        std::ptrdiff_t prefix_width = 0;
6267
2.21k
        if (specs.precision != 0) {
6268
844
            auto max_width_view = take_width(rng, specs.precision);
6269
844
            SCN_TRY(prefix_result,
6270
816
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
816
            it = prefix_result.first.base();
6272
816
            prefix_width = prefix_result.second;
6273
816
        }
6274
1.37k
        else {
6275
1.37k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
1.37k
            std::tie(it, prefix_width) = prefix_result;
6277
1.37k
        }
6278
2.18k
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
2.18k
        std::ptrdiff_t value_width = 0;
6282
2.18k
        if (specs.precision != 0) {
6283
816
            if (specs.precision <= prefix_width) {
6284
10
                return detail::unexpected_scan_error(
6285
10
                    scan_error::invalid_fill,
6286
10
                    "Too many fill characters before value, "
6287
10
                    "precision exceeded before reading value");
6288
10
            }
6289
6290
806
            const auto initial_width = specs.precision - prefix_width;
6291
806
            auto max_width_view =
6292
806
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
806
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
482
            it = w_it.base();
6295
482
            value_width = initial_width - w_it.count();
6296
482
        }
6297
1.37k
        else {
6298
1.37k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
770
                                             specs, value, loc));
6300
6301
770
            if (need_skipped_width) {
6302
214
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
214
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
214
                        .view()));
6305
214
            }
6306
770
        }
6307
6308
        // Read postfix
6309
1.25k
        std::ptrdiff_t postfix_width = 0;
6310
1.25k
        if (it != rng.end()) {
6311
892
            SCN_TRY(postfix_result,
6312
892
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
892
                                 rd.skip_ws_before_read(), prefix_width,
6314
892
                                 value_width));
6315
892
            std::tie(it, postfix_width) = postfix_result;
6316
892
        }
6317
6318
1.25k
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
1.25k
            specs, prefix_width, value_width, postfix_width));
6320
1.16k
        return it;
6321
1.25k
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEnEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEoEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_23reader_impl_for_voidptrIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_23reader_impl_for_voidptrIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_boolIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_20reader_impl_for_boolIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_wcharIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_21reader_impl_for_wcharIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_26reader_impl_for_code_pointIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_26reader_impl_for_code_pointIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_25reader_impl_for_monostateIcEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIcE16forward_iteratorENSB_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEcEEE4implINS1_25reader_impl_for_monostateIcEENSt3__117basic_string_viewIcNSB_11char_traitsIcEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_aEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_sEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_iEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
660
    {
6261
660
        const bool need_skipped_width =
6262
660
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
660
        auto it = rng.begin();
6266
660
        std::ptrdiff_t prefix_width = 0;
6267
660
        if (specs.precision != 0) {
6268
224
            auto max_width_view = take_width(rng, specs.precision);
6269
224
            SCN_TRY(prefix_result,
6270
204
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
204
            it = prefix_result.first.base();
6272
204
            prefix_width = prefix_result.second;
6273
204
        }
6274
436
        else {
6275
436
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
436
            std::tie(it, prefix_width) = prefix_result;
6277
436
        }
6278
640
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
640
        std::ptrdiff_t value_width = 0;
6282
640
        if (specs.precision != 0) {
6283
204
            if (specs.precision <= prefix_width) {
6284
2
                return detail::unexpected_scan_error(
6285
2
                    scan_error::invalid_fill,
6286
2
                    "Too many fill characters before value, "
6287
2
                    "precision exceeded before reading value");
6288
2
            }
6289
6290
202
            const auto initial_width = specs.precision - prefix_width;
6291
202
            auto max_width_view =
6292
202
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
202
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
24
            it = w_it.base();
6295
24
            value_width = initial_width - w_it.count();
6296
24
        }
6297
436
        else {
6298
436
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
52
                                             specs, value, loc));
6300
6301
52
            if (need_skipped_width) {
6302
8
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
8
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
8
                        .view()));
6305
8
            }
6306
52
        }
6307
6308
        // Read postfix
6309
76
        std::ptrdiff_t postfix_width = 0;
6310
76
        if (it != rng.end()) {
6311
76
            SCN_TRY(postfix_result,
6312
76
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
76
                                 rd.skip_ws_before_read(), prefix_width,
6314
76
                                 value_width));
6315
76
            std::tie(it, postfix_width) = postfix_result;
6316
76
        }
6317
6318
76
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
76
            specs, prefix_width, value_width, postfix_width));
6320
72
        return it;
6321
76
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_lEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_xEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_nEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_hEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_tEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_jEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
660
    {
6261
660
        const bool need_skipped_width =
6262
660
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
660
        auto it = rng.begin();
6266
660
        std::ptrdiff_t prefix_width = 0;
6267
660
        if (specs.precision != 0) {
6268
224
            auto max_width_view = take_width(rng, specs.precision);
6269
224
            SCN_TRY(prefix_result,
6270
204
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
204
            it = prefix_result.first.base();
6272
204
            prefix_width = prefix_result.second;
6273
204
        }
6274
436
        else {
6275
436
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
436
            std::tie(it, prefix_width) = prefix_result;
6277
436
        }
6278
640
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
640
        std::ptrdiff_t value_width = 0;
6282
640
        if (specs.precision != 0) {
6283
204
            if (specs.precision <= prefix_width) {
6284
2
                return detail::unexpected_scan_error(
6285
2
                    scan_error::invalid_fill,
6286
2
                    "Too many fill characters before value, "
6287
2
                    "precision exceeded before reading value");
6288
2
            }
6289
6290
202
            const auto initial_width = specs.precision - prefix_width;
6291
202
            auto max_width_view =
6292
202
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
202
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
24
            it = w_it.base();
6295
24
            value_width = initial_width - w_it.count();
6296
24
        }
6297
436
        else {
6298
436
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
52
                                             specs, value, loc));
6300
6301
52
            if (need_skipped_width) {
6302
8
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
8
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
8
                        .view()));
6305
8
            }
6306
52
        }
6307
6308
        // Read postfix
6309
76
        std::ptrdiff_t postfix_width = 0;
6310
76
        if (it != rng.end()) {
6311
76
            SCN_TRY(postfix_result,
6312
76
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
76
                                 rd.skip_ws_before_read(), prefix_width,
6314
76
                                 value_width));
6315
76
            std::tie(it, postfix_width) = postfix_result;
6316
76
        }
6317
6318
76
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
76
            specs, prefix_width, value_width, postfix_width));
6320
72
        return it;
6321
76
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_mEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_yEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_19reader_impl_for_intIwEESA_oEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_23reader_impl_for_voidptrIwEESA_PvEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
6260
522
    {
6261
522
        const bool need_skipped_width =
6262
522
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
522
        auto it = rng.begin();
6266
522
        std::ptrdiff_t prefix_width = 0;
6267
522
        if (specs.precision != 0) {
6268
156
            auto max_width_view = take_width(rng, specs.precision);
6269
156
            SCN_TRY(prefix_result,
6270
148
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
148
            it = prefix_result.first.base();
6272
148
            prefix_width = prefix_result.second;
6273
148
        }
6274
366
        else {
6275
366
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
366
            std::tie(it, prefix_width) = prefix_result;
6277
366
        }
6278
514
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
514
        std::ptrdiff_t value_width = 0;
6282
514
        if (specs.precision != 0) {
6283
148
            if (specs.precision <= prefix_width) {
6284
2
                return detail::unexpected_scan_error(
6285
2
                    scan_error::invalid_fill,
6286
2
                    "Too many fill characters before value, "
6287
2
                    "precision exceeded before reading value");
6288
2
            }
6289
6290
146
            const auto initial_width = specs.precision - prefix_width;
6291
146
            auto max_width_view =
6292
146
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
146
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
10
            it = w_it.base();
6295
10
            value_width = initial_width - w_it.count();
6296
10
        }
6297
366
        else {
6298
366
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
40
                                             specs, value, loc));
6300
6301
40
            if (need_skipped_width) {
6302
8
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
8
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
8
                        .view()));
6305
8
            }
6306
40
        }
6307
6308
        // Read postfix
6309
50
        std::ptrdiff_t postfix_width = 0;
6310
50
        if (it != rng.end()) {
6311
50
            SCN_TRY(postfix_result,
6312
50
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
50
                                 rd.skip_ws_before_read(), prefix_width,
6314
50
                                 value_width));
6315
50
            std::tie(it, postfix_width) = postfix_result;
6316
50
        }
6317
6318
50
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
50
            specs, prefix_width, value_width, postfix_width));
6320
46
        return it;
6321
50
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_20reader_impl_for_boolIwEESA_bEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
760
    {
6261
760
        const bool need_skipped_width =
6262
760
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
760
        auto it = rng.begin();
6266
760
        std::ptrdiff_t prefix_width = 0;
6267
760
        if (specs.precision != 0) {
6268
268
            auto max_width_view = take_width(rng, specs.precision);
6269
268
            SCN_TRY(prefix_result,
6270
246
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
246
            it = prefix_result.first.base();
6272
246
            prefix_width = prefix_result.second;
6273
246
        }
6274
492
        else {
6275
492
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
492
            std::tie(it, prefix_width) = prefix_result;
6277
492
        }
6278
738
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
738
        std::ptrdiff_t value_width = 0;
6282
738
        if (specs.precision != 0) {
6283
246
            if (specs.precision <= prefix_width) {
6284
4
                return detail::unexpected_scan_error(
6285
4
                    scan_error::invalid_fill,
6286
4
                    "Too many fill characters before value, "
6287
4
                    "precision exceeded before reading value");
6288
4
            }
6289
6290
242
            const auto initial_width = specs.precision - prefix_width;
6291
242
            auto max_width_view =
6292
242
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
242
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
24
            it = w_it.base();
6295
24
            value_width = initial_width - w_it.count();
6296
24
        }
6297
492
        else {
6298
492
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
52
                                             specs, value, loc));
6300
6301
52
            if (need_skipped_width) {
6302
8
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
8
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
8
                        .view()));
6305
8
            }
6306
52
        }
6307
6308
        // Read postfix
6309
76
        std::ptrdiff_t postfix_width = 0;
6310
76
        if (it != rng.end()) {
6311
76
            SCN_TRY(postfix_result,
6312
76
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
76
                                 rd.skip_ws_before_read(), prefix_width,
6314
76
                                 value_width));
6315
76
            std::tie(it, postfix_width) = postfix_result;
6316
76
        }
6317
6318
76
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
76
            specs, prefix_width, value_width, postfix_width));
6320
72
        return it;
6321
76
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_20reader_impl_for_charIwEESA_cEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_wcharIwEESA_wEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
606
    {
6261
606
        const bool need_skipped_width =
6262
606
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
606
        auto it = rng.begin();
6266
606
        std::ptrdiff_t prefix_width = 0;
6267
606
        if (specs.precision != 0) {
6268
196
            auto max_width_view = take_width(rng, specs.precision);
6269
196
            SCN_TRY(prefix_result,
6270
196
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
196
            it = prefix_result.first.base();
6272
196
            prefix_width = prefix_result.second;
6273
196
        }
6274
410
        else {
6275
410
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
410
            std::tie(it, prefix_width) = prefix_result;
6277
410
        }
6278
606
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
606
        std::ptrdiff_t value_width = 0;
6282
606
        if (specs.precision != 0) {
6283
196
            if (specs.precision <= prefix_width) {
6284
2
                return detail::unexpected_scan_error(
6285
2
                    scan_error::invalid_fill,
6286
2
                    "Too many fill characters before value, "
6287
2
                    "precision exceeded before reading value");
6288
2
            }
6289
6290
194
            const auto initial_width = specs.precision - prefix_width;
6291
194
            auto max_width_view =
6292
194
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
194
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
160
            it = w_it.base();
6295
160
            value_width = initial_width - w_it.count();
6296
160
        }
6297
410
        else {
6298
410
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
370
                                             specs, value, loc));
6300
6301
370
            if (need_skipped_width) {
6302
240
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
240
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
240
                        .view()));
6305
240
            }
6306
370
        }
6307
6308
        // Read postfix
6309
530
        std::ptrdiff_t postfix_width = 0;
6310
530
        if (it != rng.end()) {
6311
530
            SCN_TRY(postfix_result,
6312
530
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
530
                                 rd.skip_ws_before_read(), prefix_width,
6314
530
                                 value_width));
6315
530
            std::tie(it, postfix_width) = postfix_result;
6316
530
        }
6317
6318
530
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
530
            specs, prefix_width, value_width, postfix_width));
6320
302
        return it;
6321
530
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_26reader_impl_for_code_pointIwEESA_DiEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_floatIwEESA_fEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_floatIwEESA_dEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6260
654
    {
6261
654
        const bool need_skipped_width =
6262
654
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
654
        auto it = rng.begin();
6266
654
        std::ptrdiff_t prefix_width = 0;
6267
654
        if (specs.precision != 0) {
6268
208
            auto max_width_view = take_width(rng, specs.precision);
6269
208
            SCN_TRY(prefix_result,
6270
192
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
192
            it = prefix_result.first.base();
6272
192
            prefix_width = prefix_result.second;
6273
192
        }
6274
446
        else {
6275
446
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
446
            std::tie(it, prefix_width) = prefix_result;
6277
446
        }
6278
638
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
638
        std::ptrdiff_t value_width = 0;
6282
638
        if (specs.precision != 0) {
6283
192
            if (specs.precision <= prefix_width) {
6284
4
                return detail::unexpected_scan_error(
6285
4
                    scan_error::invalid_fill,
6286
4
                    "Too many fill characters before value, "
6287
4
                    "precision exceeded before reading value");
6288
4
            }
6289
6290
188
            const auto initial_width = specs.precision - prefix_width;
6291
188
            auto max_width_view =
6292
188
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
188
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
20
            it = w_it.base();
6295
20
            value_width = initial_width - w_it.count();
6296
20
        }
6297
446
        else {
6298
446
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
72
                                             specs, value, loc));
6300
6301
72
            if (need_skipped_width) {
6302
8
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
8
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
8
                        .view()));
6305
8
            }
6306
72
        }
6307
6308
        // Read postfix
6309
92
        std::ptrdiff_t postfix_width = 0;
6310
92
        if (it != rng.end()) {
6311
92
            SCN_TRY(postfix_result,
6312
92
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
92
                                 rd.skip_ws_before_read(), prefix_width,
6314
92
                                 value_width));
6315
92
            std::tie(it, postfix_width) = postfix_result;
6316
92
        }
6317
6318
92
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
92
            specs, prefix_width, value_width, postfix_width));
6320
88
        return it;
6321
92
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_21reader_impl_for_floatIwEESA_eEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_25reader_impl_for_monostateIwEESA_NS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_22reader_impl_for_stringIwEESA_NSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6260
1.01k
    {
6261
1.01k
        const bool need_skipped_width =
6262
1.01k
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
1.01k
        auto it = rng.begin();
6266
1.01k
        std::ptrdiff_t prefix_width = 0;
6267
1.01k
        if (specs.precision != 0) {
6268
402
            auto max_width_view = take_width(rng, specs.precision);
6269
402
            SCN_TRY(prefix_result,
6270
392
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
392
            it = prefix_result.first.base();
6272
392
            prefix_width = prefix_result.second;
6273
392
        }
6274
612
        else {
6275
612
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
612
            std::tie(it, prefix_width) = prefix_result;
6277
612
        }
6278
1.00k
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
1.00k
        std::ptrdiff_t value_width = 0;
6282
1.00k
        if (specs.precision != 0) {
6283
392
            if (specs.precision <= prefix_width) {
6284
6
                return detail::unexpected_scan_error(
6285
6
                    scan_error::invalid_fill,
6286
6
                    "Too many fill characters before value, "
6287
6
                    "precision exceeded before reading value");
6288
6
            }
6289
6290
386
            const auto initial_width = specs.precision - prefix_width;
6291
386
            auto max_width_view =
6292
386
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
386
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
310
            it = w_it.base();
6295
310
            value_width = initial_width - w_it.count();
6296
310
        }
6297
612
        else {
6298
612
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
548
                                             specs, value, loc));
6300
6301
548
            if (need_skipped_width) {
6302
308
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
308
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
308
                        .view()));
6305
308
            }
6306
548
        }
6307
6308
        // Read postfix
6309
858
        std::ptrdiff_t postfix_width = 0;
6310
858
        if (it != rng.end()) {
6311
512
            SCN_TRY(postfix_result,
6312
512
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
512
                                 rd.skip_ws_before_read(), prefix_width,
6314
512
                                 value_width));
6315
512
            std::tie(it, postfix_width) = postfix_result;
6316
512
        }
6317
6318
858
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
858
            specs, prefix_width, value_width, postfix_width));
6320
780
        return it;
6321
858
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_22reader_impl_for_stringIwEESA_NSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6260
1.01k
    {
6261
1.01k
        const bool need_skipped_width =
6262
1.01k
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
1.01k
        auto it = rng.begin();
6266
1.01k
        std::ptrdiff_t prefix_width = 0;
6267
1.01k
        if (specs.precision != 0) {
6268
402
            auto max_width_view = take_width(rng, specs.precision);
6269
402
            SCN_TRY(prefix_result,
6270
392
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
392
            it = prefix_result.first.base();
6272
392
            prefix_width = prefix_result.second;
6273
392
        }
6274
612
        else {
6275
612
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
612
            std::tie(it, prefix_width) = prefix_result;
6277
612
        }
6278
1.00k
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
1.00k
        std::ptrdiff_t value_width = 0;
6282
1.00k
        if (specs.precision != 0) {
6283
392
            if (specs.precision <= prefix_width) {
6284
6
                return detail::unexpected_scan_error(
6285
6
                    scan_error::invalid_fill,
6286
6
                    "Too many fill characters before value, "
6287
6
                    "precision exceeded before reading value");
6288
6
            }
6289
6290
386
            const auto initial_width = specs.precision - prefix_width;
6291
386
            auto max_width_view =
6292
386
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
386
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
310
            it = w_it.base();
6295
310
            value_width = initial_width - w_it.count();
6296
310
        }
6297
612
        else {
6298
612
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
548
                                             specs, value, loc));
6300
6301
548
            if (need_skipped_width) {
6302
308
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
308
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
308
                        .view()));
6305
308
            }
6306
548
        }
6307
6308
        // Read postfix
6309
858
        std::ptrdiff_t postfix_width = 0;
6310
858
        if (it != rng.end()) {
6311
512
            SCN_TRY(postfix_result,
6312
512
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
512
                                 rd.skip_ws_before_read(), prefix_width,
6314
512
                                 value_width));
6315
512
            std::tie(it, postfix_width) = postfix_result;
6316
512
        }
6317
6318
858
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
858
            specs, prefix_width, value_width, postfix_width));
6320
780
        return it;
6321
858
    }
_ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEwEEE4implINS1_22reader_impl_for_stringIwEESA_NSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
6260
1.01k
    {
6261
1.01k
        const bool need_skipped_width =
6262
1.01k
            specs.width != 0 || specs.precision != 0;
6263
6264
        // Read prefix
6265
1.01k
        auto it = rng.begin();
6266
1.01k
        std::ptrdiff_t prefix_width = 0;
6267
1.01k
        if (specs.precision != 0) {
6268
402
            auto max_width_view = take_width(rng, specs.precision);
6269
402
            SCN_TRY(prefix_result,
6270
392
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6271
392
            it = prefix_result.first.base();
6272
392
            prefix_width = prefix_result.second;
6273
392
        }
6274
612
        else {
6275
612
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6276
612
            std::tie(it, prefix_width) = prefix_result;
6277
612
        }
6278
1.00k
        auto prefix_end_it = it;
6279
6280
        // Read value
6281
1.00k
        std::ptrdiff_t value_width = 0;
6282
1.00k
        if (specs.precision != 0) {
6283
392
            if (specs.precision <= prefix_width) {
6284
6
                return detail::unexpected_scan_error(
6285
6
                    scan_error::invalid_fill,
6286
6
                    "Too many fill characters before value, "
6287
6
                    "precision exceeded before reading value");
6288
6
            }
6289
6290
386
            const auto initial_width = specs.precision - prefix_width;
6291
386
            auto max_width_view =
6292
386
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6293
386
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6294
310
            it = w_it.base();
6295
310
            value_width = initial_width - w_it.count();
6296
310
        }
6297
612
        else {
6298
612
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6299
548
                                             specs, value, loc));
6300
6301
548
            if (need_skipped_width) {
6302
308
                value_width = static_cast<std::ptrdiff_t>(calculate_text_width(
6303
308
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6304
308
                        .view()));
6305
308
            }
6306
548
        }
6307
6308
        // Read postfix
6309
858
        std::ptrdiff_t postfix_width = 0;
6310
858
        if (it != rng.end()) {
6311
512
            SCN_TRY(postfix_result,
6312
512
                    impl_postfix(ranges::subrange{it, rng.end()},
6313
512
                                 rd.skip_ws_before_read(), prefix_width,
6314
512
                                 value_width));
6315
512
            std::tie(it, postfix_width) = postfix_result;
6316
512
        }
6317
6318
858
        SCN_TRY_DISCARD(check_widths_for_arg_reader(
6319
858
            specs, prefix_width, value_width, postfix_width));
6320
780
        return it;
6321
858
    }
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEnEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEnEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEoEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEoEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_23reader_impl_for_voidptrIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_23reader_impl_for_voidptrIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_boolIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_boolIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_charIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_20reader_impl_for_charIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_26reader_impl_for_code_pointIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_26reader_impl_for_code_pointIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_25reader_impl_for_monostateIwEENS0_6ranges6detail9subrange_8subrangeINS4_17basic_scan_bufferIwE16forward_iteratorENSB_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNSB_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v44impl10arg_readerINS0_18basic_scan_contextINS0_6detail16buffer_range_tagEwEEE4implINS1_25reader_impl_for_monostateIwEENSt3__117basic_string_viewIwNSB_11char_traitsIwEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
6322
6323
    template <typename T>
6324
    scan_expected<iterator> operator()(T& value)
6325
32.7k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
32.7k
                          basic_contiguous_scan_context<char_type>>) {
6330
32.7k
            auto rd = make_reader<T, char_type>();
6331
32.7k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
17.8k
            return impl(rd, range, value);
6333
        }
6334
0
        else if constexpr (!detail::is_type_disabled<T>) {
6335
0
            auto rd = make_reader<T, char_type>();
6336
0
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
0
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
0
                specs.width != 0) {
6340
0
                return impl(rd, range, value);
6341
0
            }
6342
6343
0
            auto crange = get_as_contiguous(range);
6344
0
            SCN_TRY(it, impl(rd, crange, value));
6345
0
            return ranges::next(range.begin(),
6346
0
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
32.7k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<char>(char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<short>(short&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<int>(int&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long>(long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned short>(unsigned short&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned int>(unsigned int&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<float>(float&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<double>(double&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<scn::v4::basic_regex_matches<char> >(scn::v4::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<scn::v4::basic_regex_matches<wchar_t> >(scn::v4::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<short>(short&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<int>(int&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long>(long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned short>(unsigned short&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned int>(unsigned int&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<float>(float&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<double>(double&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<scn::v4::basic_regex_matches<char> >(scn::v4::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<scn::v4::basic_regex_matches<wchar_t> >(scn::v4::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<short>(short&)
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<int>(int&)
Line
Count
Source
6325
2.40k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.40k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.40k
            auto rd = make_reader<T, char_type>();
6331
2.40k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
680
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.40k
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<long>(long&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned short>(unsigned short&)
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6325
2.40k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.40k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.40k
            auto rd = make_reader<T, char_type>();
6331
2.40k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
680
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.40k
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<unsigned __int128>(unsigned __int128&)
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<void*>(void*&)
Line
Count
Source
6325
2.36k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.36k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.36k
            auto rd = make_reader<T, char_type>();
6331
2.36k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
604
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.36k
    }
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<bool>(bool&)
Line
Count
Source
6325
2.40k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.40k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.40k
            auto rd = make_reader<T, char_type>();
6331
2.40k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
944
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.40k
    }
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<char>(char&)
Line
Count
Source
6325
2.36k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.36k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.36k
            auto rd = make_reader<T, char_type>();
6331
2.36k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
658
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.36k
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<float>(float&)
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<double>(double&)
Line
Count
Source
6325
2.40k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.40k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.40k
            auto rd = make_reader<T, char_type>();
6331
2.40k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
694
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.40k
    }
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6325
2.36k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.36k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.36k
            auto rd = make_reader<T, char_type>();
6331
2.36k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
2.21k
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.36k
    }
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6325
2.36k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.36k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.36k
            auto rd = make_reader<T, char_type>();
6331
2.36k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
2.21k
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.36k
    }
scn::v4::scan_expected<char const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
6325
2.36k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
2.36k
                          basic_contiguous_scan_context<char_type>>) {
6330
2.36k
            auto rd = make_reader<T, char_type>();
6331
2.36k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
2.21k
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
2.36k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned __int128>(unsigned __int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<signed char>(signed char&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<short>(short&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<int>(int&)
Line
Count
Source
6325
1.29k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.29k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.29k
            auto rd = make_reader<T, char_type>();
6331
1.29k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
660
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.29k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<long>(long&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<long long>(long long&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned char>(unsigned char&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned short>(unsigned short&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6325
1.29k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.29k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.29k
            auto rd = make_reader<T, char_type>();
6331
1.29k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
660
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.29k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned long>(unsigned long&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<unsigned __int128>(unsigned __int128&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<void*>(void*&)
Line
Count
Source
6325
1.22k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.22k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.22k
            auto rd = make_reader<T, char_type>();
6331
1.22k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
522
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.22k
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<bool>(bool&)
Line
Count
Source
6325
1.29k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.29k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.29k
            auto rd = make_reader<T, char_type>();
6331
1.29k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
760
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.29k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<char>(char&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<wchar_t>(wchar_t&)
Line
Count
Source
6325
1.22k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.22k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.22k
            auto rd = make_reader<T, char_type>();
6331
1.22k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
606
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.22k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<float>(float&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<double>(double&)
Line
Count
Source
6325
1.29k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.29k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.29k
            auto rd = make_reader<T, char_type>();
6331
1.29k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
654
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.29k
    }
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<long double>(long double&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6325
1.22k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.22k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.22k
            auto rd = make_reader<T, char_type>();
6331
1.22k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
1.01k
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.22k
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6325
1.22k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.22k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.22k
            auto rd = make_reader<T, char_type>();
6331
1.22k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
1.01k
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.22k
    }
scn::v4::scan_expected<wchar_t const*> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
6325
1.22k
    {
6326
        if constexpr (!detail::is_type_disabled<T> &&
6327
                      std::is_same_v<
6328
                          context_type,
6329
1.22k
                          basic_contiguous_scan_context<char_type>>) {
6330
1.22k
            auto rd = make_reader<T, char_type>();
6331
1.22k
            SCN_TRY_DISCARD(rd.check_specs(specs));
6332
1.01k
            return impl(rd, range, value);
6333
        }
6334
        else if constexpr (!detail::is_type_disabled<T>) {
6335
            auto rd = make_reader<T, char_type>();
6336
            SCN_TRY_DISCARD(rd.check_specs(specs));
6337
6338
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6339
                specs.width != 0) {
6340
                return impl(rd, range, value);
6341
            }
6342
6343
            auto crange = get_as_contiguous(range);
6344
            SCN_TRY(it, impl(rd, crange, value));
6345
            return ranges::next(range.begin(),
6346
                                ranges::distance(crange.begin(), it));
6347
        }
6348
        else {
6349
            SCN_EXPECT(false);
6350
            SCN_UNREACHABLE;
6351
        }
6352
1.22k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<__int128>(__int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned __int128>(unsigned __int128&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<char>(char&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<scn::v4::monostate>(scn::v4::monostate&)
6353
6354
    scan_expected<iterator> operator()(
6355
        typename basic_scan_arg<detail::default_context<char_type>>::handle)
6356
        const
6357
0
    {
6358
0
        SCN_EXPECT(false);
6359
0
        SCN_UNREACHABLE;
6360
0
    }
Unexecuted instantiation: scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle) const
Unexecuted instantiation: scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle) const
Unexecuted instantiation: scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle) const
Unexecuted instantiation: scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle) const
6361
6362
    range_type range;
6363
    const detail::format_specs& specs;
6364
    detail::locale_ref loc;
6365
};
6366
6367
template <typename Context>
6368
struct custom_reader {
6369
    using context_type = Context;
6370
    using char_type = typename context_type::char_type;
6371
    using parse_context_type = typename context_type::parse_context_type;
6372
    using iterator = typename context_type::iterator;
6373
6374
    template <typename T>
6375
    scan_expected<iterator> operator()(T&) const
6376
0
    {
6377
0
        SCN_EXPECT(false);
6378
0
        SCN_UNREACHABLE;
6379
0
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<signed char>(signed char&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<short>(short&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<int>(int&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long>(long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long long>(long long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<__int128>(__int128&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned char>(unsigned char&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned short>(unsigned short&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned int>(unsigned int&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned long>(unsigned long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned long long>(unsigned long long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<unsigned __int128>(unsigned __int128&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<void*>(void*&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<bool>(bool&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<char>(char&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<wchar_t>(wchar_t&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<char32_t>(char32_t&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<float>(float&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<double>(double&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<long double>(long double&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<scn::v4::monostate>(scn::v4::monostate&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<signed char>(signed char&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<short>(short&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<int>(int&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long>(long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long long>(long long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<__int128>(__int128&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned char>(unsigned char&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned short>(unsigned short&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned int>(unsigned int&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned long>(unsigned long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned long long>(unsigned long long&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<unsigned __int128>(unsigned __int128&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<void*>(void*&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<bool>(bool&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<char>(char&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<wchar_t>(wchar_t&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<char32_t>(char32_t&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<float>(float&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<double>(double&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<long double>(long double&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<scn::v4::monostate>(scn::v4::monostate&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&) const
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&) const
6380
6381
    scan_expected<iterator> operator()(
6382
        typename basic_scan_arg<detail::default_context<char_type>>::handle h)
6383
        const
6384
0
    {
6385
0
        SCN_TRY_DISCARD(h.scan(parse_ctx, ctx));
6386
0
        return {ctx.begin()};
6387
0
    }
Unexecuted instantiation: scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle) const
Unexecuted instantiation: scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator()(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle) const
6388
6389
    parse_context_type& parse_ctx;
6390
    context_type& ctx;
6391
};
6392
}  // namespace impl
6393
6394
SCN_END_NAMESPACE
6395
}  // namespace scn